我有兩個檔案,每個檔案都包含一個類:
# file1.py
class Class1:
def __init__(self):
self.d = dict()
@property
def get(self):
return self.d
obj1 = Class1()
obj1.d["a"] = 1
obj1.d["b"] = 2
# file2.py
from file1 import Class1
class Class2:
def print_val(self):
for i in Class1().get:
print(i)
我正在嘗試d從 Class2 中的 Class1訪問屬性而不初始化 Class1。以下當前回傳一個空字典,這是有道理的。
Class2().print_val()
{}
uj5u.com熱心網友回復:
該類Class1沒有屬性d。只有型別的物件Class1才有屬性d。如果你想列印 的成員obj1.d,你當然可以這樣做,但你必須obj1以print_val某種方式傳遞給。
uj5u.com熱心網友回復:
您可以創建一個類變數上Class1,因為你不希望實體Class1。
class Class1:
d = dict()
Class1.d['a'] = 'A'
Class1.d['b'] = 'B'
class Class2:
def print_val(self):
print(Class1.d)
c2 = Class2()
c2.print_val()
出去:
{'a': 'A', 'b': 'B'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/389199.html
下一篇:屬性初始化和“this”
