本文共 660 字,大约阅读时间需要 2 分钟。
(is和==)都用来判断变量:
is判断两个变量的内存地址 ==判断两个变量的值
1.python提供小整型缓存区(-5~256)在数据区 2.字符串缓存区(字符串不能包含特殊字符) 超过数据区就会变得不一样引用赋值 -----------数据存在栈里面的复制 =
浅拷贝 拷贝的对象,对象存在堆里import copy
dir(copy)
[‘Error’, ‘all’, ‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘copy_dispatch’,‘copy_immutable’, ‘deepcopy_atomic’, ‘deepcopy_dict’, ‘deepcopy_dispatch’, ‘deepcopy_list’,‘deepcopy_method’, ‘deepcopy_tuple’, ‘keep_alive’, ‘reconstruct’, ‘copy’, ‘deepcopy’, ‘dispatch_table’,‘error’]
copy-------浅拷贝(只拷贝一层,内层发生改变,拷贝的对象也会发声改变)
deepcopy-------深拷贝
总结:当对象需要拷贝的时候,一般建议使用浅拷贝(只拷贝一层),如果要完全分离,使用深拷 贝
拷贝可以用在不可变类型(元组,字符串)
元组是不可变类型,元组里面的元素可变,如果再去拷贝?(思考)转载地址:http://oatki.baihongyu.com/