[英]Python access a class attribute without initializing?
我有兩個文件,每個文件都包含一個 class:
# 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)
我試圖在不初始化 Class1 的情況下從 Class2 中的 Class1 訪問屬性d
。 以下當前返回一個有意義的空字典。
Class2().print_val()
{}
class Class1
沒有屬性d
。 只有Class1
類型的對象具有屬性d
。 如果你想打印obj1.d
的成員,你當然可以這樣做,但你必須以某種方式將obj1
傳遞給print_val
。
您可以在Class1
上創建class 變量,因為您不想實例化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'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.