假设有一个python类返回:
d=[{'source_id': '1', 'source_desc': 'XML1'},
{'source_id': '2', 'source_desc': 'XML2'},
{'source_id': '3', 'source_desc': 'XML3'}]
假设该类被称为:
class ddata():
def __init__(var):
self.var=method_class(var)
def method_class(self,v):
´´´do stuff / dummy method´´´
return v
初始化:
mydata=ddata(d)
在python中,是否可以向类中添加特定方法以允许以下操作: 伪代码:
mydata.1.source_desc (would be XML1)
编辑 其目的是使用一个键,并且只使用其中一个键作为输入点符号。在这种情况下,数字是正确的。数字是int或str,不一定是连续的,这会根据返回列表中的位置使解决方案无效
与@BoarGules所说的相反,在Python中可以使用整数作为标识符。只是不在源代码中。证明:
因此,这里有一个解决方案:
我使用了^{} ,因为我发现它比
__getattribute__
更友好但是,仅使用正确定义的dict也可以做到同样的效果,而且要简单得多:
我建议不要使用无法在源代码中编写的标识符(
1
)。我认为使用“dict表示法”(x["y"]
)与点表示法(x.y
)没有太大区别,但在您的例子中,维护起来要简单得多相关问题 更多 >
编程相关推荐