python共享引用(多个变量引用)示例代码_python教程-查字典教程网
python共享引用(多个变量引用)示例代码
python共享引用(多个变量引用)示例代码
发布时间:2017-01-07 来源:查字典编辑
摘要:复制代码代码如下:a=3b=a先上图(图1)吧,大家一看就一目了然了:变量名和对象,在运行赋值语句b=a之后,变量a,b都指向了对象3的内存...

复制代码 代码如下:

a = 3

b = a

先上图(图1)吧,大家一看就一目了然了:

变量名和对象,在运行赋值语句b = a之后,变量a,b都指向了对象3的内存空间.

假设这时执行 a = 'python', a将指向刚创建的字符串对象。

我们再来试试这种情况:

复制代码 代码如下:

>>>list_1 = [1,2,3,4]

>>>list_2 = list_1

>>>list_2

>>>list_1[0] = 'python'

>>>list_2

result:

复制代码 代码如下:

[1,2,3,4]

['python',2,3,4]

从我的理解上来解释的话: list是一个类型对象,而对象里的每一个元素可以看成是变量,去引用了不同内存空间的对象list_1 = [1,2,3,4]是让list_1指向list的内存空间,list_2 = list_1时,他们将指向同一个内存空间。当List_1[0]改变指向时,list_2依然指向list对象的,所以看是改变list_1[0]的值,实际上是python通过list_1直接到内存空间去做了修改,list_2的指向没有任何变量。

或许这种结果并不是我们想要的。如果你不想要这样的现象发生,需要python对象拷贝,而不是创建引用。

如:

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新python学习
    热门python学习
    脚本专栏子分类