python中对_init_的理解及实例解析
作者:遇见IT 时间:2023-03-15 11:08:23
一、self的位置是出现在哪里?
首先,self是在类的方法中的,在调用此方法时,不用给self赋值,Python会自动给他赋值,而且这个值就是类的实例--对象本身。也可以将self换成别的叫法例如seef,但不建议,因为大家习惯也默认了写成self。
二、self的值是什么?
self的值是Python会自动赋值的,而且值是对象本身。举例说明:类Dog,他的实例是d,那么,d调用类的方法jian(arge1,arge2)的时候,Python会自动转为Dog.jian(d,arge1,arge2)。self的值是Dog的实例d
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:
注意:特殊方法“init”前后分别有两个下划线!!!
注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。
来源:https://www.cnblogs.com/icosun/p/11651297.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python虚拟环境venv用法详解
![](https://img.aspxhome.com/file/2023/7/121057_0s.png)
Python 虚拟环境的价值和常用命令详解
python类中的self和变量用法及说明
Python本地及虚拟解释器配置过程解析
![](https://img.aspxhome.com/file/2023/7/118507_0s.png)
JSON.stringify转换JSON时日期时间不准确的解决方法
![](https://img.aspxhome.com/file/2023/7/55917_0s.jpg)
mysql 判断是否为子集的方法步骤
![](https://img.aspxhome.com/file/2023/3/74783_0s.png)
教你使用Python实现一个简易版Web服务器
python为图片和PDF去水印详解
![](https://img.aspxhome.com/file/2023/7/78597_0s.png)
IE里模拟DOMContentLoaded事件
python机器学习之随机森林(七)
Python 确定多项式拟合/回归的阶数实例
![](https://img.aspxhome.com/file/2023/3/87773_0s.jpg)
vue组件间传值的方法你知道几种
如何计算多个订单的核销金额
![](https://img.aspxhome.com/file/2023/0/104140_0s.png)
python logging模块的使用
对pandas的dataframe绘图并保存的实现方法
Python中的Classes和Metaclasses详解
深入C++ string.find()函数的用法总结
如何用拦截表单的方法上传图片?
Python3从零开始搭建一个语音对话机器人的实现
![](https://img.aspxhome.com/file/2023/5/64715_0s.jpg)
python-docx如何缩进两个字符
![](https://img.aspxhome.com/file/2023/5/124925_0s.png)