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

    什么是python的构造函数

    silencementsilencement2019-09-12 11:19:47原创3322

    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中类方法的区别是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网