0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

揭开Python类中self的神秘面纱

汽车玩家 来源:码农阿勇 作者:码农阿勇 2020-01-19 17:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

许多python初学者,在接触到python面向对象的时候,就被类中包含的方法中的self打败了,不知道self是何物?

既然写在方法中,是必须参数,为何在调用方法的时候不给它传参数还能正常运行?和我们前面学的函数传参这块矛盾么?勇哥在这里给慢慢大家揭开self的神秘面纱。

首先我们看下如下代码:

揭开Python类中self的神秘面纱

改进上述代码,我们来探索下self到底是个什么东西?大家应该记得python中有一个id()内置函数,它可以返回指定变量在内存中存放的地址。

Self既然作为show方法的形参,那我就可以在该方法内部通过print打印,该形参变量在内存中的存放位置;我们在类外创建的对象mytest,它其实也是一个变量,我也可以通过id函数打印给变量在内存中的存放位置,改进后的代码执行结果如下:

揭开Python类中self的神秘面纱

通过上图,我们发现对象mytest变量的存放地址和self的内存存放地址竟然是一样的,这就意味它们代表的是一个东西,那就是mytest变量本身。当系统在执行mytest=test()的时候,python的解释器会悄悄的帮我们把mytest实例变量传给了self。所以后边我们再调用该方法的时候,不需要再给该方法传参数了。

另外类中的普通方法参数self必须写在最前边(即最左边),self参数本身的名字可以修改,但是不推荐,因为大家都约定叫这个名字了,所以我们就跟着随大流好了。对于接触过其他编程语言的人来说,python中是self与C++JAVA中类中的this关键字意义是一样的。

因此self在方法中是必须(位置)参数没错,但是在创建对象或实例化的那一刻,python解释器就帮我们传递了当前的对象给self了,所以我们再调用该方法的时候不需要在传了。正是因为方法中有self,我们就可以在方法中对这个实例的属性进行操作了,记住self参数指向了当前对象本身。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90421
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    红外热像仪是什么?它跟红外热成像有什么关系?

    实现这一功能的设备就是红外热像仪。今天,就让我们揭开红外热像仪的神秘面纱,探索它如何成为我们透视温度的“火眼金睛”。
    的头像 发表于 04-13 14:41 276次阅读
    红外热像仪是什么?它跟红外热成像有什么关系?

    探索TPA2012D2:高性能立体声滤波免D音频功率放大器的设计奥秘

    功率放大器——TPA2012D2,它是德州仪器(TI)推出的一款2.1 - W/通道立体声滤波免D音频功率放大器。这款放大器凭借其独特的特性和出色的性能,在众多音频应用得到了广泛的应用。接下来,让我们一起揭开TPA2012D
    的头像 发表于 02-03 14:05 823次阅读

    【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-红绿灯按钮项目-Python实现简单的Web服务器

    11.4.0] on linux。 文件名 :\"/home/nano/server1.py\" 系统采用Python标准库的http.server模块构建轻量级Web服务器,通过访问设备
    发表于 11-16 16:35

    曙光存储助力中国移动呼和浩特数据中心建设

    10月23日,中国移动携手曙光存储举办“随数而动,智存智用”活动,实地探访中国移动呼和浩特数据中心,揭开这座“云上草原”智算底座的神秘面纱
    的头像 发表于 10-28 17:33 1358次阅读

    红外热成像:让看不见的温度“现形”

    在广袤的世界里,温度是一个无形却又无处不在的要素。我们凭借触觉能大致感知物体冷热,可一旦涉及复杂场景、微小温度差异或是无法直接触摸的物体,温度就变得神秘莫测。红外热成像技术的诞生,宛如一道划破黑暗的光,为我们揭开了温度的神秘
    的头像 发表于 10-09 10:31 757次阅读
    红外热成像:让看不见的温度“现形”

    电源里的“特种部队”:揭秘115V/400Hz高频电力的神秘面纱与应用领域

    ”,虽然小众,却肩负着至关重要的使命。今天,就让我们一起揭开它的神秘面纱。一、为什么是400Hz?高频电力的优势何在?与常见的50/6
    的头像 发表于 08-29 10:48 1335次阅读
    电源里的“特种部队”:揭秘115V/400Hz高频电力的<b class='flag-5'>神秘</b><b class='flag-5'>面纱</b>与应用领域

    光模块拉环颜色背后的神秘意义,你知道多少?

    在数据中心的复杂网络世界里,光模块扮演着至关重要的角色,它负责实现电信号与光信号之间的高效转换,确保数据在光纤网络稳定、高速地传输。而光模块上小小的拉环颜色,看似不起眼,却隐藏着诸多关键信息,下面跟着小易,一起揭开神秘
    的头像 发表于 08-05 16:22 1510次阅读
    光模块拉环颜色背后的<b class='flag-5'>神秘</b>意义,你知道多少?

    揭开BNC连接器的神秘面纱:技术特性与行业应用盘点

    德索精密工业深耕连接器制造。自2005年成立,拥有3000多平米厂房,生产的BNC连接器阻抗标准、频率覆盖广,性能参数优异,卡口设计耐用,更有IP67级防水防尘产品。凭借严格品控与先进工艺,产品畅销40余国,为各行业提供可靠连接方案。
    的头像 发表于 08-04 13:51 837次阅读
    <b class='flag-5'>揭开</b>BNC连接器的<b class='flag-5'>神秘</b><b class='flag-5'>面纱</b>:技术特性与行业应用盘点

    融大视觉:投影融合处理器的应用场景

    如今,投影融合处理器已经渗透到我们生活的方方面面,在众多场景中发挥着至关重要的作用。接下来,就为大家揭开它在不同领域应用的神秘面纱
    的头像 发表于 07-29 18:20 622次阅读

    linux虚拟环境调用Linux 版matlab编译的python库时出错

    、readme.txt、 requiredMCRProducts.txt、init.py、CAO_python.ctf。 在linux环境按照以下步骤安装matlab runtime2018b: ① cd到MCR
    发表于 07-18 10:40

    FPGA的基础概念和应用场景

    看似神秘的技术名词,究竟是什么?又为何能在电子领域掀起一场又一场变革?让我们一同揭开 FPGA 的神秘面纱
    的头像 发表于 06-30 16:13 4889次阅读
    FPGA的基础概念和应用场景

    突破!华为先进封装技术揭开神秘面纱

    在半导体行业,芯片制造工艺的发展逐渐逼近物理极限,摩尔定律的推进愈发艰难。在此背景下,先进封装技术成为提升芯片性能、实现系统集成的关键路径,成为全球科技企业角逐的新战场。近期,华为的先进封装技术突破引发行业高度关注,为其在芯片领域的持续创新注入强大动力。 堆叠封装,创新架构 华为公布的 “一种芯片堆叠封装及终端设备” 专利显示,其芯片堆叠封装技术通过将多个芯片或芯粒(Chiplet)以堆叠方式成在同一封装体内,实
    的头像 发表于 06-19 11:28 2083次阅读

    浮思特 | 揭开(IGBT)的神秘面纱,结构原理与应用解析

    在(绝缘栅双极型晶体管)IGBT出来之前,最受欢迎和常用的功率电子开关器件是双极结晶体管(BJT)和场效应晶体管(MOSFET)。然而,这两种组件在高电流应用中都有一些限制。因此,我们转向了另一种受欢迎的功率电子开关器件,称为IGBT。TRINNOIGBT你可以将IGBT看作BJT和MOSFET的结合体,这些组件具有BJT的输入特性和MOSFET的输出特性。
    的头像 发表于 06-17 10:10 3827次阅读
    浮思特 | <b class='flag-5'>揭开</b>(IGBT)的<b class='flag-5'>神秘</b><b class='flag-5'>面纱</b>,结构原理与应用解析

    镀膜技术AR、AG、AF究竟代表什么

    在日常使用手机、平板、车载屏幕甚至医疗设备时,您是否曾为恼人的屏幕反光看不清LCD屏幕上的内容、在强光下刺眼眩目、或是屏幕沾满指纹油污影响观感和操作而困扰?其实,这些问题的解决,很大程度上依赖于屏幕表面几项关键的“隐形”技术:AR、AG 和 AF。今天,就让我们揭开它们的神秘
    的头像 发表于 06-12 13:50 8088次阅读

    动态 IP 工作室:解锁数字时代的网络奥秘

    在当今数字化浪潮席卷全球的背景下,网络技术的每一次革新都宛如夜空中闪烁的繁星,照亮了人类探索未知的道路。而动态 IP 工作室,正是这片璀璨星空中备受瞩目的存在之一,它以独特的方式,为我们揭开了数字时代网络的神秘面纱
    的头像 发表于 05-29 15:30 916次阅读