class A(object):
__init__ = None
def A__init__(self, value):
self.value = value
A.__init__ = A__init__
我是python的新手,所以我想问一下上面和下面的构造函数之间的区别。
class A(object):
def __init__(self, value):
self.value = value
答案 0 :(得分:0)
如评论中所述,就用法而言,没有明显的区别。但是请注意,命名确实发生了更改,
>>>print(A.__init__.__name__)
通常情况下输出__init__
,但是如果您将功能绑定为A__init__
的{{1}}方法,则输出__init__
。
除此之外,如果A
曾经进入类层次结构,您也不能依靠A
来为您确定MRO,并且将不得不使用{{ 1}}。猴子补丁super()
有点奇怪,嗯。