我剛剛學習Python,我來自C背景,所以請讓我知道如果我之間有任何混淆/混淆。Python類成員
假設我有下面的類:
class Node(object):
def __init__(self, element):
self.element = element
self.left = self.right = None
@classmethod
def tree(cls, element, left, right):
node = cls(element)
node.left = left
node.right = right
return node
這是一個名爲Node
類,即重載的構造,能夠在需要時處理不同的參數。
是什麼在僅__init__
限定self.element
之間的差(如上所示),而不是執行以下操作:
class Node(object):
element, left, right = None
def __init__(self, element):
self.element = element
self.left = self.right = None
是不是在__init__
相同類的element
可變self.element
定義?難道那只是將element
從None
改爲element
值傳入__init__
?
出色答卷!在「Foo.foovar」是一個可變對象(例如'list')的情況下,這些事情會變得更加有趣。 – mgilson