python中对_init_的理解及实例解析


Posted in Python onOctober 11, 2019

一、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等属性绑上去:

python中对_init_的理解及实例解析

注意:特殊方法“init”前后分别有两个下划线!!!

注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。

有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:

python中对_init_的理解及实例解析

和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中操作字典之setdefault()方法的使用
May 21 Python
Python实现的最近最少使用算法
Jul 10 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
python实现简单图片物体标注工具
Mar 18 Python
python实现知乎高颜值图片爬取
Aug 12 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
jupyter notebook 多行输出实例
Apr 09 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
使用Keras预训练好的模型进行目标类别预测详解
Jun 27 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
pandas数据处理进阶详解
Oct 11 #Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 #Python
树莓派安装OpenCV3完整过程的实现
Oct 10 #Python
树莓派极简安装OpenCv的方法步骤
Oct 10 #Python
python 利用jinja2模板生成html代码实例
Oct 10 #Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 #Python
利用pandas合并多个excel的方法示例
Oct 10 #Python
You might like
十天学会php之第五天
2006/10/09 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
Javascript----文件操作
2007/01/18 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
原生JS实现留言板
2020/03/26 Javascript
Python字典操作简明总结
2015/04/13 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
python实现12306火车票查询器
2017/04/20 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
基于python中theano库的线性回归
2018/08/31 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
Python hashlib模块的使用示例
2020/10/09 Python
python 基于opencv实现图像增强
2020/12/23 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
财政专业求职信范文
2014/02/19 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2016年端午节寄语
2015/12/04 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
Python基础之数据结构详解
2021/04/28 Python
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript