![Python程序设计基础](https://wfqqreader-1252317822.image.myqcloud.com/cover/423/30058423/b_30058423.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.1.1 基本语句
1.赋值语句
使用赋值号(=)将右边的值(表达式)赋给左边变量的语句称为赋值语句。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_1.jpg?sign=1739572866-P0JZw1PduaeGLDrgEfTQ55AqCHbzmu3H-0-3c591ec372f6f9c07fc75aa016f34e4e)
上述4条赋值语句分别实现:为变量name赋值一个字符串、为变量age赋值一个整数、为变量score赋值一个浮点数、为变量value赋值一个复数。
2.复合赋值语句
复合赋值语句是用复合运算符(包括算术复合运算符和位复合运算符)的赋值语句,包括序列赋值、多目标赋值和复合赋值等。
(1)序列赋值
例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_2.jpg?sign=1739572866-ljLc1UjblrdjYXTBeLnkxLN5Z7plko9R-0-e24bbc57758c0543e7c9403310a34de1)
序列赋值可以为多个变量分别赋予不同的值,变量之间用英文逗号隔开。实际上是利用元组和序列解包(sequence unpacking)实现的。
例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_3.jpg?sign=1739572866-7qU77xtGgiUvQwko4zIgCh2pLPhuDgY0-0-b6ef331ffc66b0004e413bedb75f10b3)
上述语句的功能是分别将5个字符依次赋值给5个变量,first的值为"h",second的值为"e",其余类推。
又如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_4.jpg?sign=1739572866-eAf3qTnVOxQL93FvCwCnRug3SVEqaxON-0-e8b4e5d602a3a4c801a143decca4d48b)
上述语句的功能是分别将右侧的4个值赋值给左边的4个变量,name的值为"李四",age的值为20,其余类推。
Python可以通过序列赋值语句实现两个变量值的交换。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_5.jpg?sign=1739572866-AyE4MLiKYCVBOnBNy6XNytiFTP6j5MZ0-0-ac8292cc2f8cb638844abeb2dd2058da)
执行以上两条语句之后,math与english的值发生了互换,math的值为75,english的值为80。
(2)多目标赋值
多目标赋值就是将同一个值赋值给多个变量。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_6.jpg?sign=1739572866-EliCS3uodbGWX3neudZ0nJOGeNxG7uaY-0-e7169ec48ba4b54d8cd7a77cb3b70829)
多目标赋值通常只用于赋予数值或字符串这种不可变类型,如果欲赋予可变类型(如列表类型,见第4章),则可能会出现问题。
(3)复合赋值
复合赋值是运算操作与赋值操作的组合。所有复合赋值运算符的优先级和赋值运算符的一样。其中,+=(加等于),-=(减等于),*=(乘等于),/=(除等于),%=(取余等于),**=(幂等于),//=(地板除等于)为算术复合运算符(见表3.1)。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_7.jpg?sign=1739572866-3pXhPoObDxdHv5UIsVGejrQpW3gH9JYC-0-792efca43dd6e2f7818d32ff3e48c21f)
而<<=(左移等于),>>=(右移等于),&=(与等于),|=(或等于),^=(异或等于)等运算符为位复合运算符。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_8.jpg?sign=1739572866-8705RAia5GA6zlCTgDqzHliC4KGHRBRj-0-738b313f1c10c6a95539a1f29ae5230d)
表3-1 算术复合赋值运算符
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_9.jpg?sign=1739572866-tCLz0lX4DazG71G7shE1aSWTvJKpzP4A-0-cefeb9d91b4658fed79e4da7fd05de5d)