Участники класса 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__

Ответы на вопрос(6)

Ваш ответ на вопрос