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入门指引
Apr 01 Python
从Python的源码来解析Python下的freeblock
May 11 Python
Python计算一个文件里字数的方法
Jun 15 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
Python贪吃蛇游戏编写代码
Oct 26 Python
python2.7实现爬虫网页数据
May 25 Python
超简单使用Python换脸实例
Mar 27 Python
Python 存储字符串时节省空间的方法
Apr 23 Python
python向字符串中添加元素的实例方法
Jun 28 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
Python空间数据处理之GDAL读写遥感图像
Aug 01 Python
使用python-Jenkins批量创建及修改jobs操作
May 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
php 静态变量的初始化
2009/11/15 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
javascript for循环设法提高性能
2010/02/24 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
2020/08/12 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
线程和进程的区别及Python代码实例
2015/02/04 Python
Python查找相似单词的方法
2015/03/05 Python
连接Python程序与MySQL的教程
2015/04/29 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
基于Python解密仿射密码
2019/10/21 Python
python实现在线翻译
2020/06/18 Python
python算的上脚本语言吗
2020/06/22 Python
Python常用断言函数实例汇总
2020/11/30 Python
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
旅游管理实习自我鉴定
2013/09/29 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
好军嫂事迹材料
2014/01/15 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
财务管理制度范本
2015/08/04 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang