首页 > 编程语言 > 详细

纯粹的python绑定

时间:2017-07-17 14:55:01      阅读:265      评论:0      收藏:0      [点我收藏+]

目前很多学习资料这样解释赋值与绑定,当是一个简单变量时,是赋值,当是复合变量时,是绑定。

注:赋值是重新复制变量到新变量中,赋值前后两个变量之间无联系。例C语言中:

int a=6;

int b;

b =a;

此时b和a是两个毫不相干的变量,改变b的值不影响a;

绑定只是将一个变量绑定到一个新的名称,例如C++语言中的

int a=6;

int &b=a;(此处&表示引用)

此时b就是a的一个别名,当改变b的值时,a的值会随之改变;

在python具有以下特性

1)对于简单变量:

>>> a=7
>>> b=a
>>> b=6
>>> b
6
>>> a
7

对于复合变量

>>> c=[1,2]
>>> d=c
>>> d[1]=7
>>> d
[1, 7]
>>> c
[1, 7]
故有些人依次认为简单变量是赋值,即b的改变不影响a,两个变量之间相互独立;而复合变量则是绑定,d的改变影响了c,两者都是指向同一变量,是同一变量的不同名称而已。

但python是一门很纯粹的语言,如此理解是非常不对的。

请看:

技术分享

>>> a=7
>>> b=a
>>> id(a)
31892112
>>> id(b)
31892112
>>> b=4
>>> id(b)
31892148

所以当运行b=4时,此时是因为b这个名称重新绑定到变量4上了,指向了另一个变量,而a依旧指向之前的变量,所以两者之间互不相同。

由此可见,python之中只有绑定,不管是简单变量还是复合变量。

技术分享

 

纯粹的python绑定

原文:http://www.cnblogs.com/gljwin/p/7194131.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!