Python如何实现赋值操作
这篇文章主要介绍了Python如何实现赋值操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
3.2 有趣的赋值操作
赋值操作是再简单不过了,在前面的章节也多次使用了赋值操作。不过Python语言中的赋值操作要有趣得多。例如,可以同时将多个值赋给多个变量。
x,y,z = 1,2,3print(x,y,z)
1 2 3
在上面的代码块中,将1、2、3分别赋值给了x、y、z三个变量,并输出这三个变量的值。使用Python语言中的这个特性可以很容易实现两个变量中值的交换。
x,y = 20,30x,y = y,xprint(x,y)
30 20
x,y,z = 1,2 这种同时将多个值赋给多个变量的操作,等号(=)左右两侧的变量名和变量个数必须相等,否则将抛出异常。
Python语言的这种特性称为序列解包(sequence unpacking),其实任何一个迭代(iterable)的对象都支持这一特性。关于迭代对象(列表、集合)的详细信息会在以后的章节介绍。
Python语言还支持链式赋值(chained assignments)和增量赋值(augmented assignments),链式赋值是指将同一个值连续赋给多个变量。
x = y = 20
增量赋值是指将变量自身增加或减小(负增量)指定值的表达式的简化形式。例如,x = x+2,如果用增量赋值表达式,可以写成x += 2,也就是将等号(=)右侧的x省略,并将加号(+)放到等号(=)左侧。例如:
x = 5x += 2print(x)
7
意思就是说,x的值是5,x += 2相当于,x = 5+2的值在赋值给x,最后输出x变量结果是7。
其实前面介绍的二元运算符都支持增量赋值,例如,x = x 20可以写成x = 20, x = x % 3 可以写成 x %= 3。
[例 3.2] 本例演示了序列解包、链式赋值和增量赋值的使用方法。
x,y,z = 1,2,3 #使用序列解包方式进行赋值print(x,y,z)x,y = y,x #利用序列解包交换x和y的值print(x,y)#x,y,z = 1,2 #抛出异常#x,y = 1,2,3 #抛出异常x = y = z = j = 20 #使用链式赋值设置x、y、z、jprint(x,y,z,j)x *= 2 #乘法增量赋值y %= 3 #除法负增量赋值z -= 1 #减法负增量赋值j += 1 #加法增量赋值print(x,y,z,j)
1 2 32 120 20 20 2040 2 19 21
感谢你能够认真阅读完这篇文章,希望小编分享的"Python如何实现赋值操作"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!