【发布时间】:2012-09-06 17:52:29
【问题描述】:
我刚刚学习 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 的类,它重载了构造函数,以便能够在需要时处理不同的参数。
仅在__init__ 中定义self.element(如上所示)与执行以下操作有什么区别:
class Node(object):
element, left, right = None
def __init__(self, element):
self.element = element
self.left = self.right = None
__init__ 中的self.element 不是和类的element 变量定义的一样吗?那不是将element 从None 覆盖到传递给__init__ 的element 值吗?
【问题讨论】:
标签: python class member-variables