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 tkinter模块中类继承的三种方式分析
Aug 08 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
python入门:这篇文章带你直接学会python
Sep 14 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
Python 实现王者荣耀中的敏感词过滤示例
Jan 21 Python
python Django里CSRF 对应策略详解
Aug 05 Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 Python
深入了解Python在HDA中的应用
Sep 05 Python
10个Python面试常问的问题(小结)
Nov 20 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
Python如何把十进制数转换成ip地址
May 25 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 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实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
2015/03/13 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
python中提高pip install速度
2020/02/14 Python
大整数数相乘的问题
2012/07/22 面试题
五年级语文教学反思
2014/01/30 职场文书
元旦晚会策划方案
2014/02/18 职场文书
社区活动总结报告
2014/05/05 职场文书
优秀员工推荐信
2014/05/10 职场文书
体育口号大全
2014/06/18 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
学雷锋活动简报
2015/07/20 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
导游词之永济鹳雀楼
2020/01/16 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
用Python简陋模拟n阶魔方
2021/04/17 Python
python垃圾回收机制原理分析
2022/04/13 Python