我对使用类很新。我在使用类中的函数(即方法)以及如何通过方法参数访问类属性。
我的目标是让一个方法访问一个实例的列表(以及其中包含的实例,yadda yadda)
虽然:
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不能。我已检查过#34;类似问题"无济于事。
提前致谢!
答案 0 :(得分:3)
因为你错过了第一个printattr
中的return语句。要从printattr2
向前传播printattr
的返回值,您必须返回返回的值:
def printattr(self):
return self.printattr2()
答案 1 :(得分:1)
您的printattr函数没有return语句。改变
self.printattr2()
到
return self.printattr2()