【Python-深浅copy】

#浅copy(只拷贝一级所有的元素,其它层级延续以前的数据)copy.copy()
#深copy所有层级的元素都单独copy一份,形成独立的副本copy.deepcopy()
# copy和deepcopy,浅copy更快,zhicopy第一层级的元素,深copy,copy所有层级的元素,都单独开启新的空间
#地址:[不可变数据]会暂时指向原数据,[可变数据]会独立开辟新空间
# 可变数据(list,set,dict)
# 不可变数据(int,float,bool,complex,str,tuple)
lst1=[1,"1",'a',"b"]
lst2=lst1.copy()
lst1.append("马")
print(lst1,lst2)#[1, '1', 'a', 'b', '马'][1, '1', 'a', 'b']
print(id(lst1[-1]),id(lst2[-1]))
import copy

lst = [1, 2, 3,[7,8]]
"""copy.copy() copy模块.copy函数()"""
lst2 = copy.deepcopy(lst)
lst.append(10)
print(lst)
print(lst2)

import copy
lst=[1,3,5,[2,4,6]]
lst2=copy.deepcopy(lst)
lst[-1].append("棒棒哒")
print(lst,lst2)
print(id(lst[-1]),id(lst2[-1]))

# 深拷贝可以应用在字典当中
dic = {"a":1,"b":[1,2,3]}
dic2 = copy.deepcopy(dic)
dic["b"].append(4)
print(dic)
print(dic2)
#文件的操作
# 二进制的字节流:用来传输或者存储的数据bytes,b"123",以b开头的字符串,内容必须是ASCII编码
#将字符串和字节流(Bytes流)类型进行转换(参数写成转化的字符编码格式)
#encode()编码将字符串转换为字节流,decode()解码,将Bytes流转换为字符串
strvar="您是哪个"
res=strvar.encode("utf-8")
print(res)
原文地址:https://www.cnblogs.com/bonnyxinxin/p/13210279.html