python定义类self用法实例解析


Posted in Python onJanuary 22, 2020

这篇文章主要介绍了python定义类self用法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在定义类的过程中,无论是显式的创建类的构造方法,还是向类中添加实例方法,都要将self参数作为方法的第一个参数。

class Person:
def __init__(self):
print("正在执行构造方法")
def study(self, name):
print(name, "正在学python")
python类方法中的self参数就相当于C++中的this指针。
同一个类可以产生多个对象,当某个对象调用类方法时,该对象会把自身的引用作为第一个参数自动传给该方法,换句话说,python会自动绑定类方法的第一个参数指向调用该方法的对象。
如此,python解释器就能知道到底要操作哪个对象的方法了。

程序在调用实例方法和构造方法时,不需要手动为第一个参数传值。

class Person:
def __init__(self):
print("正在执行构造方法")
def study(self):
print(self, "正在学python")
xiaobai = Person()
xiaobai.study()
mary = Person()
mary.study()
#执行结果
#study()中的self代表该方法的调用者,即谁调用该方法,那么self就代表谁。
正在执行构造方法
<__main__.Person object at 0x0000013B6A24BA58> 正在学python
正在执行构造方法
<__main__.Person object at 0x0000013B6A24BC88> 正在学python
对于构造函数中的self参数,其代表的是当前正在初始化的类对象。

class Person:
  name = "xiaobai"
  def __init__(self, name):
    self.name = name
mary = Person("mary")
print(mary.name)
lisa = Person("lisa")
print(lisa.name)
#执行结果
mary
lisa

总之,无论是类中的构造函数还是普通的类方法,实际调用它们的是谁,则self就代表谁。

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

Python 相关文章推荐
Python中的闭包详细介绍和实例
Nov 21 Python
星球大战与Python之间的那些事
Jan 07 Python
python并发2之使用asyncio处理并发
Dec 21 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
Python3.0中普通方法、类方法和静态方法的比较
May 03 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
Python实现自定义读写分离代码实例
Nov 16 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
django美化后台django-suit的安装配置操作
Jul 12 Python
通过实例解析python描述符原理作用
Jan 22 #Python
python基于property()函数定义属性
Jan 22 #Python
Python @property装饰器原理解析
Jan 22 #Python
Python底层封装实现方法详解
Jan 22 #Python
tensorboard实现同时显示训练曲线和测试曲线
Jan 21 #Python
使用tensorboard可视化loss和acc的实例
Jan 21 #Python
TensorFlow绘制loss/accuracy曲线的实例
Jan 21 #Python
You might like
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
使用 MySQL Date/Time 类型
2008/03/26 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
requireJS使用指南
2016/04/27 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
python查找目录下指定扩展名的文件实例
2015/04/01 Python
Python写的一个简单监控系统
2015/06/19 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python读写csv文件实例代码
2019/07/05 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
python图形用户接口实例详解
2019/12/16 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
小饰品店的创业计划书范文
2013/12/28 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
自我反省检讨书
2014/01/23 职场文书
致全体运动员广播稿
2014/02/01 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers