在Python中使用'variable.xyz'格式
这个问题可能有点傻,但我实在想不明白,所以只好问了。
我在编辑一些Python代码,为了不让事情变得太复杂,我需要能够像这样定义一个新变量:Car.store = False。
在这种情况下,变量Car还没有被定义。我知道可以用字典(比如Car['store'] = False)来做,但我必须用上面的格式。
非常感谢任何帮助。
谢谢。
4 个回答
-1
也许你可以试试这个:
try:
car.store = False
except NameError:
#This means that car doesn't exists
pass
except AttributeError:
#This means that car.store doesn't exists
pass
0
我来得有点晚,不过你可以看看collections模块里的namedtuple函数。这个函数让你可以像访问类的属性一样,访问元组中的字段,这样用起来就像是C语言中的“结构体”。当然,元组是不可变的,所以你可能需要对现有的代码做一些调整;在这个例子中可能不是最好的选择,但将来可以考虑一下。
2
我觉得你想要的效果可以通过加一行代码来实现(假设你已经定义了一个叫做Car的类):
car = Car()
car.store = False
如果没有第一行代码,你会遇到错误。
如果你想让代码更简洁,可以在__init__
里把store
设置为False
,这样就只需要第一行代码了。