我有一个有十个不同柜台的班级。我需要在运行时递增这些中的一个或另一个,并且递增方法被告知要递增的计数器的名称。
我想知道是否有比这更清洁的方式:
def increment(self, name):
"""Increments a counter specified by the 'name' argument."""
setattr(self, name, getattr(self, name) + 1)
答案 0 :(得分:6)
您可以将计数器存储在字典中而不是存储在属性中。
或者,您可以使用
def increment(self, name):
"""Increments a counter specified by the 'name' argument."""
self.__dict__[name] += 1
由您来决定这是否“更干净”。