2 回答

TA貢獻1735條經驗 獲得超5個贊
def getatt(self, number):
return getattr(self, 'att%d' % number)
或采用新的樣式格式:
def getatt(self, number):
return getattr(self, 'att{}'.format(number))
還要注意,如果您具有許多這些屬性,則可能應該考慮存儲列表并從它們的索引中檢索元素。

TA貢獻1828條經驗 獲得超3個贊
我會做類似的事情
class My_Class:
def __init__(self):
self.att = {1: 1, 2: 2, 3: 3}
def getatt(self, number):
return self.att[number]
def __getattr__(self, attname):
if attname.startswith('att') and attname != 'att':
try: num = int(attname[3:])
except ValueError: pass
else: return self.att[num]
raise AttributeError(attname)
(未試)
這樣,您可以訪問捆綁的數據以及必要時的屬性。
添加回答
舉報