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 相关文章推荐
c++生成dll使用python调用dll的方法
Jan 20 Python
python检测服务器是否正常
Feb 16 Python
python中stdout输出不缓存的设置方法
May 29 Python
python中os操作文件及文件路径实例汇总
Jan 15 Python
python实现的jpg格式图片修复代码
Apr 21 Python
使用Python编写一个最基础的代码解释器的要点解析
Jul 12 Python
分享6个隐藏的python功能
Dec 07 Python
Django教程笔记之中间件middleware详解
Aug 01 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
Python解析json时提示“string indices must be integers”问题解决方法
Jul 31 Python
Python调用腾讯API实现人脸身份证比对功能
Apr 04 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开发入门教程之面向对象
2006/12/05 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
JS简单表单验证功能完整示例
2020/01/26 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
python定时关机小脚本
2018/06/20 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
专业求职信撰写要诀
2014/02/18 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
放弃继承权公证书
2015/01/23 职场文书
长城的导游词
2015/01/30 职场文书
导游词之江西赣州
2019/10/15 职场文书
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫