Участники класса Python
Я только изучаю Python, и я из C, поэтому, пожалуйста, дайте мне знать, если у меня возникнет путаница / смешение между ними.
Предположим, у меня есть следующий класс:
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
, который перегружает конструктор, чтобы иметь возможность обрабатывать различные аргументы, если это необходимо.
В чем разница между определениемself.element
в__init__
только (как показано выше), а не делать следующее:
class Node(object):
element, left, right = None
def __init__(self, element):
self.element = element
self.left = self.right = None
неself.element
в__init__
такой же, как у классаelement
переменная определена? Wouldn»т, что просто перезаписатьelement
отNone
кelement
значение передается в?__init__