2024-06-01 09:46:02 发布
网友
我在python中有一个类,我想根据如下字符串获得几个属性中的一个:
class my_class: def __init__(self): self.att1=1 self.att2=2 self.att3=3 def getatt (self, number): return self.att(number)
我怎样才能做到这一点?你知道吗
我会做一些像
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)
(未经测试)
有了它,您可以访问绑定的数据和属性(如果需要)。你知道吗
def getatt(self, number): return getattr(self, 'att%d' % number)
或使用新样式格式:
def getatt(self, number): return getattr(self, 'att{}'.format(number))
还要注意的是,如果您有许多这样的属性,您也许应该考虑存储一个列表并从它们的索引中检索元素。你知道吗
我会做一些像
(未经测试)
有了它,您可以访问绑定的数据和属性(如果需要)。你知道吗
或使用新样式格式:
还要注意的是,如果您有许多这样的属性,您也许应该考虑存储一个列表并从它们的索引中检索元素。你知道吗
相关问题 更多 >
编程相关推荐