我有一個班有十個不同的計數器。我需要在運行時增加一個或另一個,並且增量方法會告訴計數器的名稱增加。如何在運行時使用getattr/setattr增加屬性?
我不知道是否有比這更清潔的方式:
def increment(self, name):
"""Increments a counter specified by the 'name' argument."""
setattr(self, name, getattr(self, name) + 1)
- 我並不十分擔心競爭條件等。
- 不,你不能改變函數的調用方式。顯然,真正的代碼比例子稍微微不足道。
是否有可能有一個櫃檯名稱字典? – 2011-03-13 12:17:31
正如在下面的回答評論中指出的那樣 - 不,你沒有專櫃字典。 – 2011-03-13 12:45:35