无标题无名氏No.63952357 只看PO
2024-10-02(三)11:40:35 ID:4kTyLpO 回应
发现一个问题( ゚∀。)Python的
>>>a=b=[]
>>>a.append(1)
这个时候a和b两个列表都会添加一个1( ゚∀。)是因为连等定义共用一个内存地址吗
无标题无名氏No.63953539
2024-10-02(三)14:07:26 ID: 5IJAv3m
常见的面向对象的值语义语言大概就C++
其他的行为都类似于这样,不指定拷贝绑定的是引用
于是就一起改了
无标题无名氏No.63953671
2024-10-02(三)14:20:37 ID: YiXpQ4t
哦想复制list是吧
b=[x for x in a]
或者更进阶一点对于复杂嵌套对象可以看看copy.deepcopy
无标题无名氏No.63953725
2024-10-02(三)14:26:14 ID: 4kTyLpO (PO主)
>>No.63953671
谢肥哥( ゚∀。)查到深拷贝的方法了,但是测试了一下发现我最需要的是完全洗内存地址,先转字符串再等效貌似最方便,好像还有什么可变对象和不可变对象之类的区别,小白看不懂啦|д` )