python定义类self用法实例解析

作者:xiaobaizzZ 时间:2022-01-08 14:11:01 

这篇文章主要介绍了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就代表谁。

来源:https://www.cnblogs.com/xiaobaizzz/p/12218350.html

标签:python,定义,类,self
0
投稿

猜你喜欢

  • WEB2.0网页制作标准教程(1)选择什么样的DOCTYPE

    2007-11-13 12:57:00
  • python实现画桃心表白

    2021-05-14 16:27:00
  • 详解python配置虚拟环境

    2021-08-02 22:02:50
  • 利用Python3分析sitemap.xml并抓取导出全站链接详解

    2022-01-26 16:27:08
  • pycharm激活码免费分享适用最新pycharm2020.2.3永久激活

    2021-12-11 10:17:09
  • 用javascript实现Base64编码

    2008-03-04 16:51:00
  • Python 5种常见字符串去除空格操作的方法

    2023-12-18 18:52:58
  • Python import导入上级目录文件的方法

    2022-11-16 01:27:41
  • python3之模块psutil系统性能信息使用

    2022-02-19 16:43:52
  • Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记

    2023-08-17 10:58:20
  • Mootools 1.2教程(8)——输入过滤第一部分(数字)

    2008-11-27 13:01:00
  • 下拉框二级联动的JavaScript代码

    2009-05-18 18:39:00
  • SQL语句执行顺序图文介绍

    2023-07-04 22:59:27
  • python实现百度关键词排名查询

    2023-01-19 12:26:58
  • Python 的AES加密与解密实现

    2022-07-09 21:49:49
  • Python matplotlib绘制散点图配置(万能模板案例)

    2023-08-02 23:04:18
  • php验证码的制作思路和实现方法

    2023-09-04 13:23:37
  • Python 多个图同时在不同窗口显示的实现方法

    2022-07-02 01:20:35
  • 在ASP中使用SQL语句之11:记录统计

    2007-08-11 13:27:00
  • python Airtest自动化测试工具的的使用

    2023-10-28 02:12:57
  • asp之家 网络编程 m.aspxhome.com