python继承初始化对象实例时 TypeError: module() takes at most 2 arguments (3 given)

建了两个模块:

第一个Fighter.py:

复制代码
class Fighter(object):
    """战斗者"""
    __slots__ = ('_name', '_hp')

    def __init__(self, name, hp):
        """初始化方法"""
        self._name = name
        self._hp = hp
复制代码

第二个Ultraman.py:

复制代码
import Fighter
from random import randint


class Ultraman(Fighter):
    """奥特曼"""
    __slots__ = ('_name', '_hp', '_mp')

    def __init__(self, name, hp, mp):
        self._name = name
        self._hp = hp
        self._mp = mp
复制代码

运行显示错误:TypeError: module() takes at most 2 arguments (3 given)

修改方法一:将第二个模块的开头修改为:from Fighter import Fighter

修改方法二:将第二个模块修改为:class Ultraman(Fighter.Fighter):

具体原因看:https://www.jianshu.com/p/5cc20b88bcf4

posted on 2020-06-18 20:21  blogsheng  阅读(5268)  评论(0编辑  收藏  举报