python中的self参数
来源:互联网 发布:微博营销软件下载 编辑:程序博客网 时间:2024/05/16 09:02
当程序加载到内存开始运行时,那么函数代码会加载多份到内存吗?
# 飞机1plane1 = HeroPlane(10, 100)plane1.fly()# 飞机2plane2 = HeroPlane(15, 100)plane2.fly()
我们可以看出无论是plane1的fly()函数还是plane2()的fly()函数,是完全一样的实现,同时我们也知道计算机的内存是非常宝贵的资源,不容的大肆浪费。所以在程序设计的时候,只将函数加载到内存中一份,不同的对象共享同一个函数,如下图所示:
注意:对象的实例属性是独有的,函数代码是共享的。函数共享,就会出现一个问题,当通过对象去调用fly()函数的时候,fly()函数如何区分是那个对象调用它?答案就是self参数。
# 飞机1plane1 = HeroPlane(10, 100)plane1.fly() # 等价于 fly(plane1)# 飞机2plane2 = HeroPlane(15, 100)plane2.fly() # 相当于fly(plane2)
所以类内的实例方法第一参数都必须是self,而且self参数是由python自动帮我传递的,我们不需要手动传递。
self的作用就是用来区分函数是由那个对象调用。
阅读全文
0 0
- python中的self参数
- Python中的self,cls参数
- python中的默认参数self
- 【python】Python中的self
- python 参数列表中的self 显式不等于冗余
- python中的self
- Python中的self
- Python中的self
- python中的self理解
- 理解python中的self
- python中的self理解
- python中的self
- Python类中的self
- python中的self含义
- 理解python中的self
- 理解python中的self
- python中的“self”
- python中类中函数参数self
- C#学习之旅(3)-字符与字符串
- Python入门记——列表1
- Android Mediacodec H.264文件播放
- jvm可触及性
- Java-ConcurrentHashMap实现缓存、异步
- python中的self参数
- jvm Stop-The-World
- Shell脚本实现简单分割字符串
- 顺序表和单链表的优缺点
- 移动端车牌识别流程与重要性
- mmap使用说明
- shell获取ip的值
- iOS【使用MJRefresh上拉加载 回调将会多次调用的问题】
- 判断两个字符串是否为包含关系