一: 解构
1.1 结构字符串
name = 'wc'
a,b=name
print(a)
print(b)
# w
# c
name = 'w'
a,b=name
print(a)
print(b)
#ValueError: not enough values to unpack (expected 2, got 1)
name = 'wangys'
a,b=name
print(a)
print(b)
# ValueError: too many values to unpack (expected 2)
1.2 元祖
name = ('wangys',18)
a,b=name
print(a)
print(b)
# wangys
# 18
1.3 列表
name = ['wangys',18]
a,b=name
print(a)
print(b)
#wangys
# 18
1.4 字典
name = {'name': 'wangys','age':18}
a,b=name
print(a)
print(b)
#name
# age
name = {'name': 'wangys','age':18}
for a,b in name.items():
print(a,b)
# name wangys
# age 18
二 深浅拷贝
2.1 直接赋值,操作的是同一个对象
a = [1,2,3]
b = a
a.append(4)
print(b)
# [1, 2, 3, 4]
2.2 浅拷贝
- 只是拷贝的第一级元素,二级元素共享
- 方法 [:] .copy()
a = [1,2,3,['wangys']]
b = a[:]
a[3].append('mengsx')
print(b)
# [1, 2, 3, ['wangys', 'mengsx']]
a = [1,2,3,['wangys']]
b = a.copy()
a[3].append('mengsx')
print(b)
2.3 深拷贝
- 整体拷贝(所有相关的,完全是另外一个对象)
- copy模块的deepcopy函数
import copy
a = [1,2,3,['wangys']]
b = copy.deepcopy(a)
a[3].append('mengsx')
print(b)
# [1, 2, 3, ['wangys']]