Membros da classe Python
Eu estou apenas aprendendo Python e eu venho de um background em C então por favor me avise se eu tiver alguma confusão / confusão entre ambos.
Suponha que eu tenha a seguinte classe:
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
Esta é uma classe chamadaNode
, que sobrecarrega o construtor, para poder manipular argumentos diferentes, se necessário.
Qual é a diferença entre definirself.element
em__init__
somente (como mostrado acima) ao invés de fazer o seguinte:
class Node(object):
element, left, right = None
def __init__(self, element):
self.element = element
self.left = self.right = None
Não éself.element
em__init__
o mesmo que o da classeelement
variável definida? Isso não seria apenas substituir?element
deNone
aoelement
valor passado em__init__
?