Python:类、方法、参数属性

2024-10-02 14:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我对上课还比较陌生。我很难处理类中的函数(即方法),以及如何通过方法参数访问类属性。你知道吗

我的目标是让一个方法访问实例的列表(以及其中包含的实例,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不能。我查了“类似问题”没有结果。你知道吗

提前谢谢!你知道吗


Tags: 实例方法selfreturn属性initdefattribute
2条回答

因为您在第一个printattr中错过了一个return语句。为了从printattr开始传播printattr2的返回值,您必须返回返回值

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

printattr函数没有return语句。改变

self.printattr2() 

return self.printattr2()

相关问题 更多 >