赋值魔法
序列解包
赋值有很多种,这里说的是序列解包或递归解包:
x,y,z = 1,2,3#多个赋值操作同时进行
print(x,y,z)
x,y = y,x#交换两个变量的值
print(x,y)
values = 1,2,3
print(values)
x,y,z = values
print(x,y,z)
还可以在字典中使用:
dict_example = {'name':'Jack','hobby':'python'}
key,value = dict_example.popitem()
print(key)
print(value)
小技巧:
a,b,*rest = 1,2,3,4
print(a)
print(b)
print(rest)
使用*的位置可以放在第一个位置,这样它会包含一个列表,右侧的赋值语句可以是可迭代对象
Ps:注意在使用该方法时,等号前的变量数量和等号后的元素数量要保持一致
链式赋值
定义:将同一个值给多个变量的捷径
a = b = 4
print(a)
print(b)
增量赋值
利用运算符来实现
x = 2
print(x += 1)
print(x *= 2)
print('python' += 'bitch')#字符串也可以
print('python' *= 2)