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 30 Python
Python编程入门的一些基本知识
May 13 Python
python清除字符串里非字母字符的方法
Jul 02 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
python实现二维数组的对角线遍历
Mar 02 Python
python实现nao机器人手臂动作控制
Apr 29 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 Python
django queryset相加和筛选教程
May 18 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
在django中查询获取数据,get, filter,all(),values()操作
Aug 09 Python
Pandas-DataFrame知识点汇总
Mar 16 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
GD输出汉字的函数的分析
2006/10/09 PHP
NT IIS下用ODBC连接数据库
2006/10/09 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
Python中装饰器的一个妙用
2015/02/08 Python
解密Python中的描述符(descriptor)
2015/06/03 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
银行求职自荐书
2014/06/25 职场文书
家具商场的活动方案
2014/08/16 职场文书
2014年小学工作总结
2014/11/26 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
老公保证书
2015/01/17 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
中秋联欢会主持词
2015/07/04 职场文书
新闻稿件写作范文
2015/07/18 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
Python办公自动化PPT批量转换操作
2021/09/15 Python