python定义类self用法实例解析

yipeiwu_com5年前Python基础

这篇文章主要介绍了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调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件

本文实例讲述python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件的方法,该程序采用python 2.7编写。主要内容如下: 经过长期搜寻,终于找到了Moxa...

解决Python正则表达式匹配反斜杠''\''问题

在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)? 一、引入 在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的: 1)普通字符...

web.py 十分钟创建简易博客实现代码

一、web.py简介 web.py是一款轻量级的Python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。官方站点:http://webpy....

Python(PyS60)实现简单语音整点报时

本文实例为大家分享了python语音整点报时的具体代码,供大家参考,具体内容如下 主要的技术特殊点在于PyS60的定时器最多只能定2147秒。在手机上直接写的。 import e...

python3 中文乱码与默认编码格式设定方法

python默认编码格式是utf-8。在python2.7中,可以通过sys.setdefaultencoding('gbk')设定默认编码格式,而在python3.3中sys.setd...