[英]using 'variable.xyz' format in Python
這是一個愚蠢的問題,但是我無法弄清楚,所以我不得不問。
我正在編輯一些Python代碼,為避免變得太復雜,我需要能夠按照以下定義一個新變量:Car.store = False。
在這種情況下尚未定義變量汽車。 我知道我可以做字典(Car ['store'] = False)等等...但是必須采用上述格式。
感謝任何幫助
謝謝。
我認為,通過添加一條額外的行(假設您已定義一個名為Car的類),可以最接近您想要的內容:
car = Car()
car.store = False
沒有第一行,您將得到一個錯誤。
如果您想簡潔起見,可以在__init__
中將store
設置為False
,以便僅第一行是必需的。
我參加聚會有點晚了,還請查看collections模塊中的namedtuple函數。 它使您可以像訪問類的成員一樣訪問元組的字段,並且當您想要的只是C樣式的“結構”時,這很好。 當然,元組是不可變的,因此您可能必須對現有代碼進行很多重新排列。 對於本例來說,也許不是最好的事情,但將來可能會記住這一點。
也許您可以嘗試以下操作:
try:
car.store = False
except NameError:
#This means that car doesn't exists
pass
except AttributeError:
#This means that car.store doesn't exists
pass
car, car.store = car if "car" in locals() else lambda:1, False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.