我需要一个解决方案来定义Python 2.7变量名的点如下:
myvar.one.two = 12
在这里我找到了一个很好的解决方案:How do I wrangle python lookups: make.up.a.dot.separated.name.and.use.it.until.destroyed = 777
但我无法定义以下变量名:
^{pr2}$
很遗憾,我收到以下错误消息:
AttributeError: 'int' object has no attribute 'three'
有人有办法解决这个问题吗?在
Tags:
错误代码是正确的,因为一二万五千您放置了12,这是一个int。Python是动态类型的,所以您可以创建对象的属性,即使对象中没有声明。但是当您在
two
下存储一个int时,您就得到了一个包含其所有属性和方法的integer对象。基本类型是不可变的,您不能向它们添加属性,因此添加two.three
会给您一个错误。在这里有一个库,可以让您创建和访问带有点符号-https://github.com/cdgriffith/Box
同意@Guil23,你应该只使用下划线。
或者,如果您有非常复杂和结构化的数据,可以使用namedtuples的组合,也可以只使用普通的旧类。在
相关问题 更多 >
编程相关推荐