我想從類變量中引用一個類屬性,但它給了我錯誤'self is not defined'class Test: def __init__(self, val): self.val = val data = self.val def main(self): print(self.data)
1 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
當您說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 1
print(Test.data) # prints 1
test2 = Test(2)
print(test1.data) # prints 2
print(test2.data) # prints 2
print(Test.data) # prints 2
添加回答
舉報
0/150
提交
取消