Python:彻底理解并解决错误TypeError: module.__init__() takes at most 2 arguments (3 given)

问题回顾

python3在使用类继承时,遇到错误TypeError: module.init() takes at most 2 arguments (3 given)

在这里插入图片描述
下面贴出简单测试代码,以及解决方法

简单代码

Parent.py

class Parent:
	"""父类"""
	
    def __init__(self):

        print("调用父类构造函数")
        

Child.py

import Parent


class Child(Parent):  # 定义子类
    """子类"""

    def __init__(self):
        print("调用子类构造方法")


c = Child()  # 实例化子类
错误原因

此处想要导入类,如上代码所示只是导入了模块,Python的模块名与类名是在两个不同的名字空间中,初学者很容易将其弄混淆。

python 类

用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例

python 模块

模块,在Python可理解为对应于一个文件。

根据上面代码,你想使用 import Parent 导入Parent 类,但 import Parent 只能导入模块,所以错误

解决方法
方法一

使用正确方式导入类, import Parent from Parent (此操作就是导入Parent 模块中的 Parent 类)

方法二

修改 class Child(Parent): 代码为 class Child(Parent.Parent):,目的也是选中模块中的类

测试结果

在这里插入图片描述
快去试试吧

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值