如何访问类变量中的类属性?

我想从类变量中引用一个类属性,但它给了我错误'self is not defined'


class Test:

    def __init__(self, val):

        self.val = val


    data = self.val


    def main(self):

        print(self.data)


慕森王
浏览 91回答 1
1回答

元芳怎么了

当您说data = self.valoutside__init__时,您正在定义一个类变量,而不是一个实例变量。此行影响类型测试的所有对象。但是,self 在此范围内不被识别。如果你想val更新这个类的所有实例,class Test:    data = None    def __init__(self, val):        self.val = val        Test.data = self.val在这种情况下,test1 = Test(1)print(test1.data) # prints 1print(Test.data)  # prints 1test2 = Test(2)print(test1.data) # prints 2print(test2.data) # prints 2print(Test.data)  # prints 2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python