python之name binding
@(Python学习-随手记)[python之name binding, 帮助]
名字
- 名字是对一个对象的称呼,一个对象可以只有一个名字,也可以没有名字或取多个名字。但对象自己却不知道有多少名字,叫什么,只有名字本身知道它所指向的是个什么对象。给对象取一个名字的操作叫作命名,python将赋值语句认为是一个命名操作(或者称为名字绑定)。
- 名字在一定的
名字空间
内有效,而且唯一,不可能在同一个名字空间内有两个或更多的对象取同一名字。
- 案例:
i = 1
。在python中,他有两个含义: - 创建一个值为1的整型对象-i
是指向该整型对象的名字(而且它是一个引用)
绑定
- 绑定:就是将一个对象和一个名字联系起来,准确的说,就是
增加该对象的引用计数
。 - 众所周知,C++中一大问题就是内存泄漏 – 即动态分配的内存没有能够回收,而解决这一问题的利器之一就是引用计数。python就采用了这一技术实现其垃圾回收机制。
- python中所有的对象都有
引用计数
- 案例:i = i+1,在python中,有三个含义 - 创建了一个新的对象,值为
i+1
-i
这个名字指向了该新建的对象,新建对象的引用计数+1
,而i之前所指向的老对象的引用计数-1
-i
所指向的老对象的值并没有发生改变
参考
标签:
python
本文转载自: https://blog.csdn.net/BiaoYuShiYin/article/details/121628059
版权归原作者 小小程序员爱滑雪 所有, 如有侵权,请联系我们删除。
版权归原作者 小小程序员爱滑雪 所有, 如有侵权,请联系我们删除。