为什么以下代码不会打印"Hello"
?
# C derives from B, which derives from A, which derives from object
class D(C):
def _init_(self, *args, **kw):
print "Hello"
foo = D('some_text')
我在Python 2.7中测试过这个没有运气。
我没有包含C
,B
和A
的代码,但为什么会这么重要?
我很高兴将他们的定义包括在内,但我不想不必要地使上面的代码复杂化。
答案 0 :(得分:4)
您需要使用 double 下划线:
def __init__(self, *args, **kw):
方法_init_
对Python没有特殊意义,在实例化时不会被调用。
答案 1 :(得分:2)
# C derives from B, which derives from A, which derives from object
class D(C):
def __init__(self, *args, **kw):
print "Hello"
foo = D('some_text')
双重下划线。