python中的init怎么理解,python _init
__init__()函数本身就是python的构造方法。这个函数类似于init()初始化方法,它初始化一个新创建的对象的状态,并且将在对象创建后立即被调用。
1.首先,开头有两个下划线的函数声明这个属性是私有的,不能在类外使用或直接访问。
2.init函数(方法)支持带参数的类的初始化,也可以用来声明类的属性。
3.init函数(方法)的第一个参数必须是self(self是个成语,也可以用其他名字),后面的参数可以自由指定,和定义函数没什么区别。
self参数含义
在类的代码(函数)中,需要访问当前实例中的变量和函数,即访问:
对应的变量(属性):实例。读取以前的值并写入新值。
调用相应的函数):Instance.function(),即执行相应的动作。
这里的实例本身就是自我。
Python中的Self相当于C中的self指针,Java和C#中的这个参数。
相关:《Python基础教程》
实例
比如实例化一个类:
类别目录:
def__init__(self):
self.age=2
咪咪=猫()
mimi.age
2我们会发现,将猫中age的值初始化为2后,实例化可以直接调用age的值。
了解了构造法之后,再来说说构造法中的初始值不能继承的问题。
classDog:
def__init__(self):
自我饥渴=真
打败(自己):
ifself.hungry:
印刷体“王”
else:
打印“否”
classhsq(鸟):
def__init__(self):
self.fur=white
defplay(self):
打印(“柴佳”)
hh=haq()
Hh.play()#可以正常输出
Hh.eat()#报错,因为hsq中没有hungry属性原理:调用实例的方法时,方法的self参数自动绑定到实例(称为绑定方法);
解决方案:使用超级函数(只在新类中有用)
classhsq(狗):
def__init__(self):
超级(狗,自己)。__init__()
self.sound=Squawk
定义(自我):
printself.song()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。