百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

如何理解Python类中的self?

off999 2025-05-24 16:05 27 浏览 0 评论

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

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

首先我们看下如下代码:

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

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

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

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

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

如果认为我分享的知识点对大家有一点帮助,希望大家帮忙点赞、转发,关注我们,我是码农阿勇

相关推荐

博图v19(博图v19安装过程中出错)

 西门子博途(TIAPortal)是用于工程设计和编程的软件平台,博途V19和V18是该平台的不同版本。它们在功能、性能和用户体验上有一定的区别。以下是一些主要区别:1.新功能和性能提升...

小米怎么关闭自动更新(如何关闭小米自动更新系统)

  方法/步骤分享:  1、首先找到自己手机上的设置选项。  2、找到设置之后我们看到下面有一个我的设备选项。  3、在我的设备下面有一个miui版本,点击这个版本号后面的箭头。  4、进入到系统更新...

隐藏的文件夹怎么才能显示出来

你可以打开我的电脑,随便找一个盘符点进去,然后点击左上角的组织选项,找到文件和文件夹选项,然后会弹出一个列表,找到选项显示所有文件和文件夹,把前面的勾打上就可以了。1.在资源管理器中,打开文件夹属性...

恢复出厂设置有什么影响吗(恢复出厂设置对有影响吗)

基本上没什么危害。恢复出厂设置是一次大容量的数据读写,清除,存储过程,相对一般日常使用来说,只是会对电脑的整个硬件硬盘形成一次重大磨损过程,大容量的数据读写,清除,存储,会加快硬盘的老化,但对电脑本身...

计算机电脑怎么设置密码(计算机在哪设置密码)

一、帐户    打开电脑,点击电脑左下角的开始菜单,在弹出的界面里找到“设置(齿轮形状)”。点击齿轮图标后,就会进入Windows10系统的设置界面,...

win10密钥激活码大全专业版免费破解版

1不存在永久激活密钥,但可以使用一些有效期长的密钥去激活Win10专业版。2Windows10的激活方式是基于数字权利,当你购买Windows10时,系统会将您电脑的硬件信息和购买记录绑定在一起...

免费动态壁纸2025(免费动态壁纸2023)

如果你想取消2023动态壁纸,可以按照以下步骤操作:首先,在桌面上右键点击空白区域,选择“个性化”;接着,在弹出的窗口中选择“背景”,找到“壁纸”选项,选择“图片”;最后,在“壁纸”选项下面找到“浏览...

360游戏中心手机网页版(360网页游戏平台官网)

360游戏大厅的登录方法:首先,需要在应用程序中搜索并安装360手机卫士应用程序,然后打开应用程序并点击“账号与安全”选项,在页面中选择“360账号登录”并输入账号密码即可成功登录360帐号,然后点击...

重装系统怎样保留原来的软件

1、只装系统到C盘,只需要格式化C盘即可,其他盘的文件都不会清空。2、硬盘整个格式化,所有盘都需要重新分区,所有的数据都会丢失。另外,应用程序在重装系统后肯定是运行不了了,需要重装应用程序。你装的系统...

由于英语(由于生病,他不能来参加会议英语)
由于英语(由于生病,他不能来参加会议英语)

“因为”的英文短语:owingto、becauseof;“结果”的英文短语:intheendbecause读法英[b??k?z]美[b??k??z]conj.因为短语:1、justbecause正因为2、me...

2025-12-26 07:03 off999

手机应用占了100g怎么清除(手机应用占了100g怎么清除缓存)
手机应用占了100g怎么清除(手机应用占了100g怎么清除缓存)

你下载的app太多,而且每个app都是有缓存的。长时间下来数据多了那么手机的内存也就小了首先,可以尝试清理应用缓存和垃圾文件,可以通过在设置中找到“存储”选项,选择“清除缓存”和“清除垃圾文件”来进行清理。其次,可以卸载一些不常用的应用程序...

2025-12-26 06:51 off999

电脑win10系统更新怎么关闭(win10从哪关闭电脑更新)

如果您正在进行Windows10的系统升级,并希望取消升级,可以按照以下步骤操作:1.点击Windows开始菜单,在搜索框中键入“WindowsUpdate”并打开它。2.在“更新设置”窗口中...

插u盘也响就是读不出来(为啥插上u盘有声音但没反应)

u盘插电脑有声音不读取是因为USB大容量存储设备设置错误。1、将U盘插入电脑,然后打开此电脑。2、在系统列表界面打开“设备管理器”。3、在打开的“设备管理器”窗口中,展开“通用串行总控制器”。4、选择...

怎么取消电脑自动关机时间(怎么取消电脑自动关机时间限制)

1、在电脑键盘里找到windows和R这两个键盘,找到之后,同时按住这两个键盘。2、按住了这两个组合键之后就将可以将电脑的命令窗口打开了。3、在命令窗口里面的打开一栏里输入shutdown-a这样的...

三大oa办公软件(oa办公软件有哪些品牌)

办公自动化(OfficeAutomation,简称OA)系统,是利用先进的电子信息技术和现代办公设备构成的人机信息处理系统,辅助管理人员进行各种办公活动。OA常用于企业,是企业信息化实施的第一步。O...

取消回复欢迎 发表评论: