当前位置: > 财经>正文

关于python中b=a与b=a[:]的区别 债券型基金a和b有什么区别

2023-07-19 18:14:21 互联网 未知 财经

关于python中b=a与b=a[:]的区别

b=a与b=a[:]的区别 b=a将两者指向同一个对象 而b=a[:]会创建一个新的与a完全相同的对象,但是与a并不指向同一对象。 在计算机中,不同的对象即不同的内存地址。 可理解为:b=a将创建a与b两个快捷方式并指向同一文件; 而b=a[:]先将a指向的文件复制一份作为副本,然后创建一个指向该副本的快捷方式b。 二者不同表现为当两者指向同一对象时,改变其中任意一个,都会改变对象的值,也就是同时改变a,b的值。 例:

>>>a=[1,2,3]>>>b=a>>>print(a,b)[1,2,3][1,2,3]>>>id(a)2479355814472(不一定为此值,但一定与b的id相同)>>>id(b)2479355814472(不一定为此值,但一定与a的id相同)>>>b.append(4)>>>print(a,b)[1,2,3,4][1,2,3,4]>>>b=a[:]>>>id(b)2479387665736(不一定为此值,但一定与a的id不同)>>>print(a,b)[1,2,3,4][1,2,3,4]>>>b.append(5)>>>print(a,b)[1,2,3,4][1,2,3,4,5]

其中id()函数用于获取对象的内存地址 也可使用is/==检验两个值是否指向同一个对象或者两者是否相等

>>>a = [1, 2, 3]>>> b = a>>> b is a True>>> b == aTrue>>> b = a[:]>>> b is aFalse>>> b == aTrue

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。