python中对_init_的理解及实例解析
作者:遇见IT 发布时间:2023-03-15 11:08:23
一、self的位置是出现在哪里?
首先,self是在类的方法中的,在调用此方法时,不用给self赋值,Python会自动给他赋值,而且这个值就是类的实例--对象本身。也可以将self换成别的叫法例如seef,但不建议,因为大家习惯也默认了写成self。
二、self的值是什么?
self的值是Python会自动赋值的,而且值是对象本身。举例说明:类Dog,他的实例是d,那么,d调用类的方法jian(arge1,arge2)的时候,Python会自动转为Dog.jian(d,arge1,arge2)。self的值是Dog的实例d
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。以学生类为例,通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:
注意:特殊方法“init”前后分别有两个下划线!!!
注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。
来源:https://www.cnblogs.com/icosun/p/11651297.html
猜你喜欢
- 很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴。matplotlib和se
- 今天在看罗素的《西方哲学史》时,忽然想到了这个想法,我认为可以从另外一个角度来看“用户体验“的影响因素。上面这个图是我今天思考的一部分,这是
- 前言相信看到这个题目,可能大家都觉得是一个老生常谈的月经topic了。一直以来其实把握一个“值传递”基本上就能理解各种情况了,不过最近遇到了
- 这个话题是应腾讯ISD同仁之邀在WebReBuild三周年交流会上做的主题分享。由于临场等原因有些问题当时没有讲明白,回来后按原有思路形成了
- 前言from collections import namedtuple()命名元祖的工厂函数:在python中,collections 包
- 环境:A机器和B机器都是LINUX系统,但由于B机器已经空间不足,所以停掉不停操作数据库的服务后 ,准备在A机器进行导出操作。导出语句 ex
- keras 中fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1,
- ⛳️ 本次反反爬实战案例背景本篇博客选择的案例是由 VX 好友提出,他希望有一篇博客能简单的介绍清楚下面这个问题。快速定位加密参数逻辑,快速
- 不知道大家在做网站时有没有给目录名或者文件名添加”( )”的习惯,有则改之,无则加勉。因为他有潜在的危险,起码就被我遇到了。要使页面能够使用
- 其实golang用一个函数可以构建一个并发队列,现在编写一个灵活可控的队列程序先定义一个工作type Worker struct { &nb
- 产品使用者可分为三个类别,分别是:初级用户、中级用户、高级用户。这三个类别分别代表了用户使用产品的三个阶段,其中初级用户是占最大比例的,中级
- 目前网上能获取的免费的python打包工具主要有三种:py2exe、PyInstaller和cx_Freeze。下面简单介绍windows7
- 本文介绍了linux下如何备份与恢复mysql数据库。数据库备份是非常重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次
- 背景一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。解决文件结构a #文件夹 │a.py │__init__.pyb #文件
- 程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等。在PHP中,主要有以下3种错误类型。1.注
- 记得在面试腾讯实习生的时候,面试官问了我这样一道问题。//下述两种声明方式有什么不同 function foo(){}; 
- 1、可以控制左横向滚动还是右横向滚动。2、鼠标悬停上时暂停滚动,移开后恢复滚动。3、间歇时间按需调整,但不要低于容器向左/右移动的时间。JA
- 蓝色混迹多年,偷师学艺不少,这次花了2天时间写了点东西发出来送给需要的吧。先放个图片,我改下代码。 重构完成 IE 6 
- 大家都知道在Dreamwerver中可以很方便地实现记录集的分页显示,但是生成的代码的确很庞大,影响了网页的显示速度,看起来条理也不是很清晰
- 下面是用SA-FileUp组件上传一个HTML文件的程序:fileup.htm < HTM