[英]python static variable in instance method
這是我的代碼無法正常工作
class MyClass:
special_items = {}
def preload_items(self):
special_items['id'] = "properties"
NameError:未定義全局名稱'special_items'
作品
class MyClass:
special_items = {}
def preload_items(self):
MyClass.special_items['id'] = "properties"
是不是special_items
是一個靜態成員,我可以在這個類的任何地方訪問?
python中沒有靜態成員這樣的東西。 你定義的是一個班級成員。 該成員存儲在類對象中,如您所示,它作為MyClass.special_items
訪問。
看來你要做的就是初始化special_items.
為此, classmethod
更合適(對self
沒用):
@classmethod
def preload_items(cls):
cls.special_items['id'] = "properties"
請注意,您也可以將其作為self.special_items
訪問,但它仍然存儲在類對象中,即類的所有對象都訪問相同的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.