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 @ 2019-05-29 22:54  JQS  阅读(21428)  评论(0)    收藏  举报