Python 是不是;蟒蛇的;要在运行时将属性添加到类实例中?
假设我有一组要操作的类实例。但是每个实例需要一些额外的状态变量。实例不知道它们。 建议只需将额外变量作为属性放入如下实例中:Python 是不是;蟒蛇的;要在运行时将属性添加到类实例中?,python,Python,假设我有一组要操作的类实例。但是每个实例需要一些额外的状态变量。实例不知道它们。 建议只需将额外变量作为属性放入如下实例中: 实例[x]。额外状态属性=x, 或者最好将它们分开保存?很难规定什么是“Pythonic”,因为编程风格不同,什么是Pythonic可能会发生变化 也就是说,Python的信条之一是“显式优于隐式”。为了所有使用我的代码的人,我会说,当声明一个类时,我会让它明确知道我打算使用什么变量,然后将它们作为文档记录下来 这是我的意见。您的里程数可能会有所不同。我认为在类中使用字典
实例[x]。额外状态属性=x
,
或者最好将它们分开保存?很难规定什么是“Pythonic”,因为编程风格不同,什么是Pythonic可能会发生变化 也就是说,Python的信条之一是“显式优于隐式”。为了所有使用我的代码的人,我会说,当声明一个类时,我会让它明确知道我打算使用什么变量,然后将它们作为文档记录下来
这是我的意见。您的里程数可能会有所不同。我认为在类中使用字典并检查字典中是否存在属性更符合Python。i、 e.
如果self.attrs中的属性名称:
。这与类实例的属性非常相似,这些属性通常表示为实例的\uuu dict\uuuu
中的条目,但可以说更明显地反映了正在发生的事情。