Python黑科技:赋值技巧

时间:2023-03-09 08:16:22
Python黑科技:赋值技巧

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

v = 1

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

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

x = y = z = 0

'''
# 结果,x: 0, y: 0, z: 0
'''
Python黑科技:赋值技巧
# 注意:所赋值不要是可变对象
x = y = z = [] '''
# Python的变量名只是代号
# x、y、z 都指向同一个[]
# x 变化时,y 和 z 也会变化
'''
Python黑科技:赋值技巧

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

Python黑科技:赋值技巧
t = 1, 2, 3

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

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

Python黑科技:赋值技巧
# 等号右边是与变量名个数相同的多个常量值
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'
Python黑科技:赋值技巧
Python黑科技:赋值技巧
# 应用:交换变量的值
a = 1
b = 2
a, b = b, a '''
# 首先,t = (b, a)
# 然后,a = t[0]; b = t[1]
# 注意,不用设置中间变量
# 结果,a: 2, b: 1
'''
Python黑科技:赋值技巧
Python黑科技:赋值技巧
# 注意:计算后才赋值
a = 1
b = 2
a, b = b, a + b '''
# 首先,t = (b, a + b)
# 然后,a = t[0]; b = t[1]
# 结果,a: 2, b: 3
'''
Python黑科技:赋值技巧
Python黑科技:赋值技巧
# 技巧:想丢弃某个值可以用特殊变量名
l, _, ign = 1, 2, 3 '''
# 需求,只想要第一个值,后面的两个值丢弃
# 方法,将想要丢弃的值用一个特殊的变量名接收
# 例如,_、ign(ignore)
'''
Python黑科技:赋值技巧