Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是不是;蟒蛇的;要在运行时将属性添加到类实例中?_Python - Fatal编程技术网

Python 是不是;蟒蛇的;要在运行时将属性添加到类实例中?

Python 是不是;蟒蛇的;要在运行时将属性添加到类实例中?,python,Python,假设我有一组要操作的类实例。但是每个实例需要一些额外的状态变量。实例不知道它们。 建议只需将额外变量作为属性放入如下实例中: 实例[x]。额外状态属性=x, 或者最好将它们分开保存?很难规定什么是“Pythonic”,因为编程风格不同,什么是Pythonic可能会发生变化 也就是说,Python的信条之一是“显式优于隐式”。为了所有使用我的代码的人,我会说,当声明一个类时,我会让它明确知道我打算使用什么变量,然后将它们作为文档记录下来 这是我的意见。您的里程数可能会有所不同。我认为在类中使用字典

假设我有一组要操作的类实例。但是每个实例需要一些额外的状态变量。实例不知道它们。 建议只需将额外变量作为属性放入如下实例中:
实例[x]。额外状态属性=x

或者最好将它们分开保存?

很难规定什么是“Pythonic”,因为编程风格不同,什么是Pythonic可能会发生变化

也就是说,Python的信条之一是“显式优于隐式”。为了所有使用我的代码的人,我会说,当声明一个类时,我会让它明确知道我打算使用什么变量,然后将它们作为文档记录下来


这是我的意见。您的里程数可能会有所不同。

我认为在类中使用字典并检查字典中是否存在属性更符合Python。i、 e.
如果self.attrs中的属性名称:
。这与类实例的属性非常相似,这些属性通常表示为实例的
\uuu dict\uuuu
中的条目,但可以说更明显地反映了正在发生的事情。