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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
Python常用正则表达式符号浅析
Aug 13 Python
python解析xml文件实例分析
May 27 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
python提取log文件内容并画出图表
Jul 08 Python
python 叠加等边三角形的绘制的实现
Aug 14 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
Keras设置以及获取权重的实现
Jun 19 Python
Python机器学习之KNN近邻算法
May 14 Python
PyTorch device与cuda.device用法
Apr 03 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包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python迭代器和生成器介绍
2015/03/06 Python
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python2.7安装图文教程
2018/03/13 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
python文件写入write()的操作
2019/05/14 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
生物化学研究助理员求职信
2013/10/09 职场文书
单位未婚证明范本
2014/01/18 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
敬老月活动总结
2014/08/28 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
python实现局部图像放大
2021/11/17 Python