在python类中定义变量

在python类中定义变量,python,class,variables,Python,Class,Variables,有一个代码,其中变量定义如下: class MoveSquareClass(object): # create messages that are used to publish feedback/result _feedback = TestFeedback() _result = TestResult() def __init__(self): # code continues 我的问题是,当我们创建类的实例时会发生什么,变量会被声明吗?我知

有一个代码,其中变量定义如下:

class MoveSquareClass(object):

    # create messages that are used to publish feedback/result
    _feedback = TestFeedback()
    _result   = TestResult()

    def __init__(self):
    # code continues

我的问题是,当我们创建类的实例时会发生什么,变量会被声明吗?我知道在构造函数中定义变量可以简化事情,但代码就是这样。我们也应该使用.init前缀来调用它们吗?若有,原因为何

创建
MoveSquareClass
类时,会创建一次
\u反馈
\u结果
对象。它们将在
MoveSquareClass
的所有后续实例之间共享。如果它们是在
\uuuu init\uuuu
中创建的,那么它们就不再是共享对象了;
MoveSquareClass
的每个实例将获得自己的
TestFeedback
TestResult
实例。这很可能会导致行为上的重大变化——因此,如果您不完全理解代码,则应小心更改它。

一旦定义了类,就会定义类属性。它们应该是类属性还是实例属性取决于类的使用方式;从这个片段中不可能说出来。