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性能提升之延迟初始化
Dec 04 Python
浅析使用Python操作文件
Jul 31 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
Python3使用PyQt5制作简单的画板/手写板实例
Oct 19 Python
如何用python整理附件
May 13 Python
python实现维吉尼亚算法
Mar 20 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
python 读取数据库并绘图的实例
Dec 03 Python
深入了解Python enumerate和zip
Jul 16 Python
Python如何对齐字符串
Jul 30 Python
Python基础之数据结构详解
Apr 28 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 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 session会话的安全性分析
2011/09/08 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
深入理解vue Render函数
2017/07/19 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
python基础教程之序列详解
2014/08/29 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Python unittest模块用法实例分析
2018/05/25 Python
在python中安装basemap的教程
2018/09/20 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python如何写try语句
2020/07/14 Python
python中的django是做什么的
2020/07/31 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
出国导师推荐信
2014/01/16 职场文书
接待员岗位责任制
2014/02/10 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
公司保密承诺书
2014/03/27 职场文书
白酒营销策划方案
2014/08/17 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
建筑安全员岗位职责
2015/02/15 职场文书
国庆阅兵观后感
2015/06/15 职场文书
初中地理教学反思
2016/02/19 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python