[英]defining variables in python classes
有一段代碼,其中變量定義如下:
class MoveSquareClass(object):
# create messages that are used to publish feedback/result
_feedback = TestFeedback()
_result = TestResult()
def __init__(self):
# code continues
我的問題是當我們創建類的實例時會發生什么,變量會被聲明嗎? 我知道在構造函數中定義變量會簡化事情,但這就是代碼的方式。 我們還應該使用 .init 前綴來調用它們嗎? 如果是,為什么?
_feedback
和_result
對象在創建MoveSquareClass
類時創建一次。 它們將在MoveSquareClass
所有后續實例之間共享。 如果它們是在__init__
內部創建的,它們將不再是共享對象; MoveSquareClass
每個實例都會得到它自己的TestFeedback
和TestResult
實例。 這很可能會導致行為發生重大變化 - 因此,如果您不完全理解代碼,則應謹慎更改它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.