技术文章 > 常见问题 > Python常见问题 > 正文

什么是python的构造函数

silencement

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,造成访问出错。

免费视频教程
相关文章
 python的类有几种方法
 python 类如何使用
 python中类方法的区别是什么
相关视频章节
 面向对象的构造函数
 Python 切片操作
 Python的迭代
 Python中的列表生成式
视频教程分类