Python类中的self参数的理解

这篇具有很好参考价值的文章主要介绍了Python类中的self参数的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于self参数来说,和一般初学者一样,只把它作为类里面函数参数的第一个必须要写的内容,感觉和C++ 类里面的this 指针类似,具体没有深究。现在有时间把这点再仔细理解下。

首先需要明确以下几点:

  • self 只用在 类 的方法中,单独的函数不需要。

  • self 在 定义类 的方法时, 是必须的,但调用时不用手动传入self,会自动传入。

  • self 并不是python中的关键字,是约定俗成的,可以换成其他的表示a,b, 但为了统一,都是使用 self。

self 是一个指向当前类的实例对象本身的一个引用,能够使得实例本身去访问类中的方法和属性。举例如下:

class Student():
    def __init__(self, name):
        self.name = name

    def print_name_age(self, age):
        '''输出该学生的姓名和年龄'''
        print(self.name, age)


a = Student('Jack') # 创建名为 Jack 的实例a
Student.print_name_age(a, 18) # self 即为 实例a

a.print_name_age(18)

以上两者的输出 均为 Jack 18

以self 为前缀的变量可供类中的所有方法使用

注意:要定义一个方法,除了第一个参数是self外,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入。

参考:

python中的self理解_python def self_Evan.lu的博客-CSDN博客

Python类中的self到底是干啥的 - Chown-Jane-Y - 博客园 (cnblogs.com)文章来源地址https://www.toymoban.com/news/detail-619601.html

到了这里,关于Python类中的self参数的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 重新理解一个类中的forward()和__init__()函数

    __init__() 是一个类的构造函数,用于初始化对象的属性。它会在创建对象时自动调用,而且通常在这里完成对象所需的所有初始化操作。 forward() 是一个神经网络模型中的方法,用于定义数据流的向前传播过程。它接受输入数据,通过网络的各个层进行计算,最终返回输出结果

    2024年02月16日
    浏览(11)
  • [开发语言][c++][python]:C++与Python中的赋值、浅拷贝与深拷贝

    [开发语言][c++][python]:C++与Python中的赋值、浅拷贝与深拷贝

    写在前面 :Python和C++中的赋值与深浅拷贝,由于其各自语言特性的问题,在概念和实现上稍微有点差异,本文将这C++和Python中的拷贝与赋值放到一起,希望通过对比学习两语言实现上的异同点,加深对概念的理解。 C++中所谓的 浅拷贝 就是由(系统默认的) 拷贝构造函数对

    2024年02月02日
    浏览(14)
  • 深入理解Python中的元类

    所有对象都是实例化或者调用类而得到的,Python中一切都是对象,通过class定义的类本质也是对象,对象又是通过调用类得到的,因此通过class定义的类肯定也是调用了一个类得到的,这个类就是元类。type就是Python内置的元类 在理解元类之前,你需要先掌握Pyt

    2024年02月08日
    浏览(6)
  • Python教程(23)——Python类中常用的特殊成员

    在Python中,类特殊成员是指以双下划线开头和结尾的属性和方法,也被称为魔术方法(Magic methods)或特殊方法(Special methods)。这些特殊成员在类的定义中具有特殊的语法和功能,用于实现对象的特定行为和操作。 特殊方法一般由Python解释器调用,无需手动调用。通过在类

    2024年02月02日
    浏览(7)
  • Python中的POST请求参数

    在HTTP协议中,GET和POST是两种常用的请求方法。GET请求通过URL参数将请求数据传递给服务器,而POST请求则通过请求体中的参数传递数据。POST请求通常用于提交表单、上传文件等操作。POST请求参数就是请求体中的参数。 在Python中,我们可以使用第三方库如requests来发送POST请求

    2024年01月24日
    浏览(11)
  • python类中使用signal

    环境: python 3.9 背景: 如果我们需要在类实例退出的时候进行一些处理,通常,我们可以将会处理逻辑写在**__del__**函数中, 类实例销毁的之前会调用该函数。 但是如果是外部信号signal,如 ctrl+c, 中断程序时, 就不会掉用__del__函数。 因此, 本次将在类中加入signal 处理逻

    2024年02月13日
    浏览(7)
  • python类中常用的魔术方法

    python类中常用的魔术方法

    构造方法也是魔术方法的一种,此方法我在python对象与类中已经展示过了 注意:在方法中引用类成员变量一定要记得使用self引用 如果不使用该方法打印,那打印出来的只会是对象的地址 效果

    2024年02月08日
    浏览(13)
  • python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域

    目录 python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域 1、先来看个问题吧: 2、引用 VS 拷贝: 3、增强赋值以及共享引用:

    2024年02月08日
    浏览(9)
  • 深入理解一下Python中的面向对象编程

    深入理解一下Python中的面向对象编程

    网上关于 Java 和**C++**的面向对象编程相关介绍的博客文章已经很多了,那我为什么还写呢?因为,人生苦短,刚好我是学Python的... 今天,我们就来走进 面向对象编程的理想国 ——深入理解一下Python中的面向对象编程( Object-Oriented Programming,OOP )。 “日子一天一天过 我们

    2024年02月07日
    浏览(17)
  • 深入理解Python中的日志记录(Logging)

    深入理解Python中的日志记录(Logging)

    🚀  个人主页 :xmp65535 🚀  专栏 :python技术专栏 目录 一、Python Logging 模块概述 二、相关组件 Logger Handler Formatter Filter LogRecord Level 三、基本配置 Formatters格式: 四、记录日志 五、日志记录者(Loggers) logging.getLogger(name=None) 六、处理器(Handlers) logging.Handler() RotatingFileHand

    2024年04月23日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包