首页 > 编程语言 > 详细

python 中变量的赋值,复制,以及直接修改内存。

时间:2020-06-15 22:03:02      阅读:48      评论:0      收藏:0      [点我收藏+]

之前以为python中的赋值是赋值,事实告诉我这只是浅拷贝,只是指针(或者引用)的赋值,即两者引用(指向)的内存还是同一个,只有深拷贝才能完全把内存空间里的值再创建一份然后放到一个新地址里供新的变量引用,类比c++的深浅拷贝。

import copy
a=[1,2,3,[4,5,6]]
b=a    #赋值
c=copy.copy(a)    #shallow copy
d=copy.deepcopy(a)      #Deep copy

  

 

 

 

python中也有数组,并不是list

# Array[]:相同类型元素的序列
from array import array
a1=array(‘h‘,[1,2,3])
memv=memoryview(a1)#内存视图
len(memv)
memv[0]=55
a1
dir(a1)#array相关操作

  

这里可以看到可以用数组名字直接操作内存中的内容。(利用视图,其实应当是找地址。)

tuple不能改变元素的值,但是可以增减对应元素的值。

set用{}储存不重复的值。

python 中变量的赋值,复制,以及直接修改内存。

原文:https://www.cnblogs.com/zy1120192493/p/13137745.html

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