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中的pydoc模块和distutils模块
Apr 13 Python
Python处理字符串之isspace()方法的使用
May 19 Python
Python编程中的异常处理教程
Aug 21 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
Python建立Map写Excel表实例解析
Jan 17 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
在windows下使用python进行串口通讯的方法
Jul 02 Python
Python递归调用实现数字累加的代码
Feb 25 Python
Python OrderedDict字典排序方法详解
May 21 Python
Python中socket网络通信是干嘛的
May 27 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
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
初探nodeJS
2017/01/24 NodeJs
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
Python编码类型转换方法详解
2016/07/01 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
美国批发零售网站:GearXS
2016/07/26 全球购物
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
毕业生找工作的求职信范文
2013/12/24 职场文书
优秀小学生家长评语
2014/01/30 职场文书
租房协议书怎么写
2014/04/10 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
研究生求职自荐书
2014/06/23 职场文书
商场租赁意向书
2014/07/30 职场文书
同志主要表现材料
2014/08/21 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
怎样写观后感
2015/06/19 职场文书
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技