![Python程序设计教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/598/27185598/b_27185598.jpg)
2.4 运算符
运算符是实现某种运算的符号,也是构成表达式的连接符号。运算符可以根据它所作用的操作数的个数分为一元运算符和二元运算符。运算符还可以根据其实现的功能分为算术运算符、比较运算符、逻辑运算符、身份运算符等。下面介绍常用运算符的概念及其使用方法。为了简洁,本节均假设变量a为10,变量b为20。
2.4.1 算术运算符
算术运算符是指用来进行数值运算的符号。Python中的算术运算符有加(+)、减(-)、乘(*)、除(/)、幂(**)、取商(//)、取余(%)、取负数(-)。下面给出各种算术运算符的使用示例,如表2-1所示。
表2-1 算术运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0029-0014.jpg?sign=1738866554-N2QM3mw5NKcp1mROlw1EVajN2qT8cqN8-0-1d9cdbe264d1fdf2598625695fdb9829)
注意:Python 2.x里,整数除整数,只能得出整数。如果要得到小数部分,就要把其中一个数改成浮点数。
>>> 1/2 0 >>> 1 .0/2 0 .5 >>> 1/float(2) #float()把整数对象转换为浮点数对象 0 .5
2.4.2 比较运算符
比较运算符用来表示两个或多个值或表达式之间的关系,包括等于(==)、不等于(! =)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。用比较运算符连接起来的表达式称为关系表达式,其结果为一个bool型数据,即True或False,如果关系表达式成立,则其逻辑值为True,否则为False。比较运算符的种类及其示例如表2-2所示。
表2-2 比较运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0029-0015.jpg?sign=1738866554-8bo3GupTdIA2oAjD9GekRpeUT7y7hOU3-0-eba68b114a881c599c1740c1a428c482)
2.4.3 逻辑运算符
逻辑运算符用来执行表达式之间的逻辑操作,判断运算时的真假,其执行结果为bool型,即为True或False。常见的逻辑运算符有逻辑非(not)、逻辑与(and)、逻辑或(or)。逻辑运算符的优先级及其示例如表2-3所示。
表2-3 逻辑运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0030-0017.jpg?sign=1738866554-W8w2OqKvGc3zVe1rJtpNjkgQfBChqhUE-0-6902272ee27d517da09a617ce85037ac)
2.4.4 身份运算符
身份运算符用于比较两个对象的存储单元,如表2-4所示。
表2-4 身份运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0030-0018.jpg?sign=1738866554-R4nKRh1sGw0NG15esSDtUuhYzbNAdgoX-0-9e90a45574fa7be905c19ae658724378)
注:id()函数用于获取对象内存地址。
2.4.5 Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符。测试实例中包含了一系列的成员,包括字符串、列表或元组。如表2-5所示。
表2-5 成员运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0031-0019.jpg?sign=1738866554-42nhd0853PxHCsZooljjZbNKnVeJ1xXa-0-9e79d839e62138087ef3f2471d1d5e0f)
2.4.6 赋值运算符及复合赋值运算符
赋值运算符(=)用来给变量或对象的属性赋值。例如,x=1,将1赋值给变量x。
复合赋值运算符是把算术运算符与赋值运算符结合起来,如表2-6所示。
表2-6 赋值运算符及复合赋值运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0031-0020.jpg?sign=1738866554-r66Y6RkTBv0SfiPsng1KuZWZ6zZyl3Yk-0-5a798d324bca3dccf8c19a33c5205a8b)
2.4.7 Python按位运算符
按位运算符是把数字看作二进制来进行计算的。在表2-7中,假设变量a为60, b为13,二进制格式及运算如下:
a=00111100
b=00001101
a&b=00001100
a|b=00111101
a^b=00110001
~a =11000011
具体如表2-7所示。
表2-7 位运算符
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0032-0021.jpg?sign=1738866554-Osvx6ujM5dyKUerPQ1Grr5xiaCxW9kEb-0-079bd4d93d7c9991b84f9a05ba1608ff)
2.4.8 Python运算符优先级
如表2-8所示列出了从最高到最低优先级的所有运算符。
表2-8 运算符优先级
![](https://epubservercos.yuewen.com/84FBD1/15532508804824806/epubprivate/OEBPS/Images/Figure-0032-0022.jpg?sign=1738866554-alQvHMbd08F1JOUJeQ26jALmdI1dl1JS-0-5eae0b73615e5bc122cb08cfdc3b7423)