![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=1739375782-xAFPv5S4g8kWkyOdCJ8aErNF75FG9aI3-0-24397f11289a283241ea357bc5292256)
上述4条赋值语句分别实现:为变量name赋值一个字符串、为变量age赋值一个整数、为变量score赋值一个浮点数、为变量value赋值一个复数。
2.复合赋值语句
复合赋值语句是用复合运算符(包括算术复合运算符和位复合运算符)的赋值语句,包括序列赋值、多目标赋值和复合赋值等。
(1)序列赋值
例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_2.jpg?sign=1739375782-oU57yYjDWJ98S9j3CC0Wa2VM43WxTYWd-0-bf5cfcb4981a4c0762b6a0c955fe4f60)
序列赋值可以为多个变量分别赋予不同的值,变量之间用英文逗号隔开。实际上是利用元组和序列解包(sequence unpacking)实现的。
例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_3.jpg?sign=1739375782-fsDTC2K4IdDhnHGLbdEB06u6W43l6gQK-0-84480728864dc0c1849fd5a40fbcb037)
上述语句的功能是分别将5个字符依次赋值给5个变量,first的值为"h",second的值为"e",其余类推。
又如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_4.jpg?sign=1739375782-Hb7cB1PvNoEK1FlHLtRTBP3FL8Q8aENe-0-95d037e1bef9640d2329089dfa13cd89)
上述语句的功能是分别将右侧的4个值赋值给左边的4个变量,name的值为"李四",age的值为20,其余类推。
Python可以通过序列赋值语句实现两个变量值的交换。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_5.jpg?sign=1739375782-vwsQBn3L4Sh6BBMD0YbbzjHSXAlWC6m7-0-914ef1b6853897ac5ee7b0eed3015741)
执行以上两条语句之后,math与english的值发生了互换,math的值为75,english的值为80。
(2)多目标赋值
多目标赋值就是将同一个值赋值给多个变量。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_6.jpg?sign=1739375782-52eEiKPJ18oY6m7StrEHHg13Cfnpofw1-0-05130f3eddffa144eb2a0c0f25130753)
多目标赋值通常只用于赋予数值或字符串这种不可变类型,如果欲赋予可变类型(如列表类型,见第4章),则可能会出现问题。
(3)复合赋值
复合赋值是运算操作与赋值操作的组合。所有复合赋值运算符的优先级和赋值运算符的一样。其中,+=(加等于),-=(减等于),*=(乘等于),/=(除等于),%=(取余等于),**=(幂等于),//=(地板除等于)为算术复合运算符(见表3.1)。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_7.jpg?sign=1739375782-LOXbUVIGJu7vqt8wpWkym87DRtoLvZcM-0-4db4cc4807b70709a0229651fcf9944e)
而<<=(左移等于),>>=(右移等于),&=(与等于),|=(或等于),^=(异或等于)等运算符为位复合运算符。例如:
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_8.jpg?sign=1739375782-Uv943pYKD1aIXAdaKhChnRBF7Dnl5L11-0-e1796e9fd41068ce17105a34c853c7b4)
表3-1 算术复合赋值运算符
![](https://epubservercos.yuewen.com/E9F0BA/16523167304945506/epubprivate/OEBPS/Images/txt003_9.jpg?sign=1739375782-q5bsERQxarOUJPRQGRUnklIsoKK4PfiV-0-942dd7484fb3f5c174f0b74610d47252)