Python - TypeError:module .__ init __()最多需要2个参数(给定3个)

时间:2017-07-09 14:10:17

标签: python inheritance python-3.5

尝试Python继承。我需要你的帮助来解决错误。

我有2个课程:人(超级)&联系(子类)。

尝试运行联系时出现以下错误:

CustomReflectable

提前致谢

以下是我的代码:

        "Contact.py", line 3, in <module>
            class Contact(Person):
        TypeError: module.__init__() takes at most 2 arguments (3 given)

1 个答案:

答案 0 :(得分:0)

首先,压痕搞砸了!

如果Person位于单独的文件中,请导入不带扩展名的文件名,如下所示:

class Person:

  def __init__(self, name, age):
      self.__name = name
      self.__age = age

  def set_name(self, name):
      self.__name = name

  def set_age(self, age):
      self.__age = age

  def get_name(self):
      return self.__name

  def get_age(self):
      return self.__age

  def getInfo(self):
      return "Name is: {} - Age is: {}".format(self.__name, self.__age)

    # ----------------------------------------------------

from person import Person # assumed your Person class is in person.py

class Contact(Person):
    __method=""

    def __init__(self, name, age, method):
        super().__init__(name, age)
        self.__method = method

    def set_method(self, method):
        self.__method = method

    def get__method(self):
        return self.__method

    def getInfo(self):
        return "Name is: {} - Age is: {} - Contact Info: {}".format(self.get_name(), self.get_age(), self.__method)


person2 = Contact("Adam Smith", 19, "Email: adam.smith@abcde.net")
print(person2.getInfo())

通过其方法访问父类的私有字段。