Python中的构造函数是__init__函数。在Python中,子类如果定义了构造函数,而没有调用父类的,那么Python不会自动调用,也就是说父类的构造函数不会执行。
比如有test.py的module文件:
class A: def __init__(self, name): self.name = name class B(A): def __init__(self, age): self.age = age
子类B继承自A,但是子类B的构造函数没有调用A的构造函数。下面我们这样测试:
>>>import test >>>b = test.B(15) >>>b.age >>>b.name AttributeError: 'B' object has no attribute 'name'
由于B没有调用A的构造函数,因此,实例b上面也没有属性name,造成访问出错。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!