python构造函数报错 python程序报错

python新手不知问题

我在书写python脚本的时候,遇到一个莫名其妙的错误,AttributeError, XX instance has no attribute XX. 这个错误如果从字面意思来理解是指缺少某一个属性,但仅仅从这个方面查bug可能会被误导。我通过仔细检查,发现我的类构造函数出了问题,本来是__init__()函数,但有几个类的构造函数成了__init_,少了一个'_'符号,这才是错误的根源。所以在书写构造函数的时候一定要注意格式。另外书写python程序,还要注意缩进,否则很容易发生错误。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的武乡网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

python构造函数

python构造函数是什么?一起来看看吧!

构造函数指的是:1、在对象进行实例化的时候,系统自动调用的一个函数叫构造函数,通常此函数用来对实例化对象进行初始化;2、构造函数一定要有,如果没有,则自动向上查找,按照MRO顺序,直到找到为止

例如:

# 继承的语法 # 在python中,任何类都有一个共同的父类叫object class Person():     name = "NoName"     age = 18     __score = 0   # 考试成绩是秘密,只要自己知道     _petname = "sec"   # 小名,是保护的,子类可以用,但不能公用     def sleep(self):         print("Sleeping ... ...") # 父类写在括号里 class Teacher(Person):     teacher_id = "9527"     def make_test(self):         print("attention") t = Teacher() print(t.name) print(t._petname) # 私有访问问题 # 公开访问私有变量,报错 # print(t.__score) t.sleep() print(t.teacher_id) t.make_test()

以下python代码为什么执行错误

你的Python程序中A类的构造函数def _init_(self,a,b):中的_init_错了,不是一个下划线,而是两个下划线__init__  应该改成这样def __init__(self,a,b): 就对了.

完整的Python程序如下

运行结果

9

Python构造函数

类是对象的模板,是抽象的。

构造函数 init 是Python魔术方法之一,如图魔术方法

我们通过类模版去创建类的实例对象,然后再调用类定义的功能。

那实例对象的属性是通过什么来初始化的?

这时候Python引入来构造函数 init

构造函数,会在创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里。

通过前面的学习,我们知道一个python对象包含三个部分:id(识别码),type(对象类型),value(对象的值)

那么我们进一步深入对象包含的三部分:

我们通过类创建实例对象后,需要定义构造函数 init ()方法。

构造方法用于执行实例对象的初始化工作,即对象创建之后,初始化当前对象的相关的属性,无返回值

构造函数重点 :

我们通过栗子来学习构造函数的过程

构造函数初始化实例对象过程如下:

1.Animal类会通过默认的 new ()方法为实例对象在堆内存中为开辟一个空间

敲黑板,重点来啦~

拓展:

我们今天学习了构造函数 init (),其在创建对象之后被Python自动调用初始化实例对象属性数据值,无返回值,并且构造函数不能被显示调用。

创建对象时,如果需要,构造函数可以接受参数。当创建没有构造函数的类时,Python会自动创建一个不执行任何操作的默认构造函数。

每个类必须有一个构造函数,即使它只依赖于默认构造函数

好啦,以上是本期内容,欢迎大佬评论区指正~


标题名称:python构造函数报错 python程序报错
URL网址:http://scjbc.cn/article/hjoihc.html

其他资讯