![数据结构与算法(Python版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/974/41864974/b_41864974.jpg)
3.2 运算符
变量之间的运算可以通过运算符实现,运算符包括算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符等。
3.2.1 算术运算符
算术运算符如表3.1所示。
表3.1 算术运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_36_04.jpg?sign=1739063529-uVmunSm9Q4qb4i1ivL0qv5rZtsNbcagk-0-d1e889ca858047dae37ab95f75db4bb7)
运算符的使用和运算数的数据类型有很大关系,加法运行效果如图3.3所示。
【例3-2】算术运算符举例。
下面给出除法(/)、整除(//)和求余数(%)的运算效果如图3.4所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_37_01.jpg?sign=1739063529-NoiF5IUc5ASx3Nq5iZDbLvnkUJVV8VcK-0-ac75b270dcc4c5263f5c3a00004d37c0)
图3.3 加法运算效果
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_37_02.jpg?sign=1739063529-EovPX1Es1PceaW4BQJIEkahHlNBztj7y-0-c8e1cfce3eaad23cb078bd2550b5b659)
图3.4 除法(/)、整除(//)和求余数(%)的运算效果
3.2.2 关系运算符
关系运算符又称比较运算符,是双目运算符,用于比较两个操作数的大小,结果是布尔值,即True(真)或False(假)。操作数可以是数值型或字符型。表3.2列出了Python中的关系运算符。
表3.2 关系运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_37_03.jpg?sign=1739063529-by9DymxxPJeyAOAXhzFp48myJv2IUYd6-0-85ed312ae702a887688d2c1f9c4889d8)
关系运算符在进行比较时,需注意以下规则。
● 两个操作数是数字,按大小进行比较。需要注意的是,Python中的“==”表示等于,“!=”表示不等于,如图3.5所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_37_04.jpg?sign=1739063529-shDB5JrXc9Q6Lkd2SJCswsNXfSMEdeLd-0-51023056426e8059fd43fe99e336c5e4)
图3.5 操作数为数字的运行效果
●两个操作数是字符型,按字符的ASCII码值从左到右逐一进行比较,即首先比较两个字符串中的第1个字符,ASCII码值大的字符串为大,如果第一个字符相同,则比较第二个字符,以此类推,直到出现不同的字符为止,如图3.6所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_38_01.jpg?sign=1739063529-3QFu0QJMLI8tzJyZodxXbsOBniALObNS-0-4719981c9417233881422a1528dd6cf6)
图3.6 操作数为字符串的运行效果
3.2.3 赋值运算符
赋值运算符如表3.3所示。
表3.3 复合赋值运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_38_02.jpg?sign=1739063529-uymZtwbu5Rv7PoAG909gwBzvsEWXfjbu-0-b74e0e5e610bbc818336fc5a163d795c)
【例3-3】赋值运算符举例。
赋值运算符举例如图3.7所示。
3.2.4 逻辑运算符
逻辑运算符如表3.4所示。除not是单目运算符外,其余都是双目运算符,逻辑运算的结果是布尔值True或False。
表3.4 逻辑运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_38_03.jpg?sign=1739063529-cXira5p2eJr0MKbC89fxpvaIbzcyXi3u-0-4688e94244438ba4432a26abbeee05e2)
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_38_04.jpg?sign=1739063529-hEhJVzy3gQBMoEUJkiKmh50AprHbGkAR-0-e41236cc6bb5b5ece24482f0e7393029)
图3.7 赋值运算符举例
【例3-4】逻辑运算符举例。
逻辑运算符举例如图3.8所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_39_01.jpg?sign=1739063529-1EDllpeMiYApfQIaUPtnv7MUseJ0iq8p-0-cb1a98d0ba959606b69a38da66c37c2b)
图3.8 逻辑运算符举例
注意:False不能简写成F或false等。
3.2.5 位运算符
位运算就把数字转换为二进制数字来运算。Python中的位运算符有:左移(<<)、右移(>>)、按位与(&)、按位或(|)、按位异或(^)和按位翻转(~)。位运算符如表3.5所示。
表3.5 位运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_39_02.jpg?sign=1739063529-XVFyvBhToZGjM3vZP7ECJhBFfZ6hz5q0-0-f4a041221b4349b1ccd73fec5c359b18)
【例3-5】位运算符举例。
位运算符举例如图3.9所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_39_03.jpg?sign=1739063529-SlNQzIxD8E1NVaBBXHB30Yvjlvp8ypNc-0-6c3263b304878488c3e9d965593482d8)
图3.9 位运算符举例
3.2.6 成员运算符
成员运算符主要用于字符串、列表或元组等数据类型。如表3.6所示。
表3.6 成员运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_40_01.jpg?sign=1739063529-cVKEFJdqubya5Opykk1jQuRH3fCwmhfK-0-360150fe49ebd71432e4589abdf9f024)
【例3-6】成员运算符举例。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_40_02.jpg?sign=1739063529-ig8KLE1JOOEYl4jhzCdjkncCRkoZay5h-0-eab67a40a65d3a4bbfd7628fc8e2c51d)
3.2.7 身份运算符
身份运算符又名同一运算符,用于比较两个对象的存储单元,如表3.7所示。
表3.7 身份运算符
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_40_03.jpg?sign=1739063529-RFfv6s7UgU2sgQgcqcY4j7cSI67XXkcj-0-fbfc6c98158c242d7455a4c8a1b6fb8d)
【例3-7】身份运算符举例。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_40_04.jpg?sign=1739063529-3xjllQrrTKCCQqAKXTRr0h1CSRzNfbfg-0-e7e723eb4d975283aa5582bcc3b76825)