3

我知道这个标题看起来对一些老问题很熟悉,但我已经看过每一个问题,但没有一个能解决。这是我的代码:

class Island (object):E,W,R,P
  def __init__(self, x, y):
    self.init_animals(y)
  def init_animals(y):
    pass

isle = Island(x,y)

但是,我收到以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in __init__
TypeError: init_animals() takes 1 positional arguments but 2 were given

如果我有任何错误,请告诉我,我对此感到很困惑。此致

4

1 回答 1

7

您需要添加self作为的第一个参数init_animals

def init_animals(self, y):
    pass

self(类似于thisJava)是类的实例。每次调用类中的方法时,self都会将其作为第一个参数发送到该方法。

于 2013-10-19T15:51:56.653 回答