Python2.7:带点的变量名

2024-04-29 15:42:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一个解决方案来定义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: andnamemake定义解决方案doonedot
2条回答

错误代码是正确的,因为一二万五千您放置了12,这是一个int。Python是动态类型的,所以您可以创建对象的属性,即使对象中没有声明。但是当您在two下存储一个int时,您就得到了一个包含其所有属性和方法的integer对象。基本类型是不可变的,您不能向它们添加属性,因此添加two.three会给您一个错误。在

这里有一个库,可以让您创建和访问带有点符号-https://github.com/cdgriffith/Box
同意@Guil23,你应该只使用下划线。
或者,如果您有非常复杂和结构化的数据,可以使用namedtuples的组合,也可以只使用普通的旧类。在

相关问题 更多 >