Python黑科技:赋值技巧

一个变量一个值(正常赋值)

v = 1

'''
# 结果,v: 1
'''

多个变量一个值(连续赋值)

x = y = z = 0

'''
# 结果,x: 0, y: 0, z: 0
'''
复制代码
# 注意:所赋值不要是可变对象
x = y = z = []

'''
# Python的变量名只是代号
# x、y、z 都指向同一个[] # x 变化时,y 和 z 也会变化 '''
复制代码

一个变量多个值(序列打包)

复制代码
t = 1, 2, 3

'''
# 首先,Python会先自动将这多个值打包成元组
# 然后,再赋值给变量
# 所以,这样赋值后的变量的类型为元组(tuple)
# 结果,t: (1, 2, 3) '''
复制代码

多个变量多个值(序列解包)

复制代码
# 等号右边是与变量名个数相同的多个常量值
l, m, n = 1, 2, 3

'''
# 首先,先将这多个值进行序列打包成元组
# t = (1, 2, 3)
# 然后,给变量赋值
# l = t[0]; m = t[1]; n = t[2]
# 结果,l: 1, m: 2, n: 3
'''

# 等号右边也可以是一个包含多个值的序列
l, m, n = [1, 2, 3]

# 等号右边也可以是字符串序列
l, m, n = 'ABC'
复制代码
复制代码
# 应用:交换变量的值
a = 1
b = 2
a, b = b, a

'''
# 首先,t = (b, a)
# 然后,a = t[0]; b = t[1]
# 注意,不用设置中间变量
# 结果,a: 2, b: 1
'''
复制代码
复制代码
# 注意:计算后才赋值
a = 1
b = 2
a, b = b, a + b

'''
# 首先,t = (b, a + b)
# 然后,a = t[0]; b = t[1]
# 结果,a: 2, b: 3
'''
复制代码
复制代码
# 技巧:想丢弃某个值可以用特殊变量名
l, _, ign = 1, 2, 3

'''
# 需求,只想要第一个值,后面的两个值丢弃
# 方法,将想要丢弃的值用一个特殊的变量名接收
# 例如,_、ign(ignore)
'''
复制代码
原文地址:https://www.cnblogs.com/valorchang/p/11289178.html