2017-06-22 56 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()