2017-06-22 60 views
-1

我比較新使用類。我在類中的函數(即方法)以及如何通過方法參數訪問類屬性。Python:類,方法,參數屬性

我的目標是具有(包含在其中和的情況下,腳本非常重要)訪問實例的列表的方法

雖然:

class dictclasser: 
    def __init__(self, attribute): 
     self.attribute = attribute 

    def printattr(self): 
     self.printattr2() 

    def printattr2(self): 
     return self.attribute 


classcollection = [] 

while True: 
    attribute = input() 
    classcollection.append(dictclasser(attribute)) 
    for i in classcollection: 
     print(i.printattr()) 

返回無

class dictclasser: 
    def __init__(self, attribute): 
     self.attribute = attribute 

    def printattr(self): 
     return self.attribute 




classcollection = [] 

while True: 
    attribute = input() 
    classcollection.append(dictclasser(attribute)) 
    for i in classcollection: 
     print(i.printattr()) 

返回一切如意。我無法弄清楚爲什麼printattr可以訪問instances屬性,printattr2不能。我查過「類似問題」無濟於事。

提前致謝!

回答

3

因爲您錯過了第一個printattr中的退貨聲明。爲了傳播的printattr2返回值繼續從printattr你必須返回返回值

def printattr(self): 
    return self.printattr2() 
1

你printattr函數沒有return語句。更改

self.printattr2() 

return self.printattr2()