- 拷贝
import copy dic = { "name": ["David", ], "sex": ["man", ], "height": ["170", ] } print("before>>>", dic) #浅拷贝只第一层数据指向不同内存地址,其余都是指向同一地址 newDic = dic.copy() newDic["name"][0] = "LaoWen" print(id(dic)) print(id(newDic)) print(id(dic["name"])) print(id(newDic["name"])) print(dic) print(newDic) print("before>>>", dic) #深拷贝指向不同一地址 newDeepDic = copy.deepcopy(dic) newDeepDic["name"][0] = "TT" print(id(dic)) print(id(newDeepDic)) print(id(dic["name"])) print(id(newDeepDic["name"])) print(dic) print(newDeepDic)
执行结果:
-
before>>> {'name': ['David'], 'sex': ['man'], 'height': ['170']}
30965408
31959080
35787080
35787080
{'name': ['LaoWen'], 'sex': ['man'], 'height': ['170']}
{'name': ['LaoWen'], 'sex': ['man'], 'height': ['170']}
before>>> {'name': ['LaoWen'], 'sex': ['man'], 'height': ['170']}
30965408
35783448
35787080
35787400
{'name': ['LaoWen'], 'sex': ['man'], 'height': ['170']}
{'name': ['TT'], 'sex': ['man'], 'height': ['170']} - 函数
def printCount(a, b): print(a + b) printCount(1, 2) # 可写函数说明 def printinfo(name, age): # "打印任何传入的字符串" print("名字: ", name) print("年龄: ", age) # 调用printinfo函数 printinfo(50, "runoob") def getCount(d, e): return d + e printinfo("2和5的和是", getCount(2, 5))