在Python中使用'variable.xyz'格式

2 投票
4 回答
568 浏览
提问于 2025-04-16 00:13

这个问题可能有点傻,但我实在想不明白,所以只好问了。

我在编辑一些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,这样就只需要第一行代码了。

撰写回答