在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
实例。这很可能会导致行为上的重大变化——因此,如果您不完全理解代码,则应小心更改它。一旦定义了类,就会定义类属性。它们应该是类属性还是实例属性取决于类的使用方式;从这个片段中不可能说出来。