簡體   English   中英

在Python中使用'variable.xyz'格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM