0

为什么下面的代码不打印"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 中对此进行了测试,但没有运气。

我不包括 , 和 的代码CB但是A这有什么关系呢?

我很高兴包含他们的定义,但我不想使上面的代码不必要地复杂化。

4

2 回答 2

4

您需要使用下划线:

def __init__(self, *args, **kw):

该方法_init_对Python没有特殊意义,实例化时不会被调用。

于 2013-04-04T17:20:11.823 回答
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')

双下划线。

于 2013-04-04T17:21:36.930 回答