![]() |
2.3 Python运算符与表达式 |
在 Python 中,有时我们需要对一个或多个数字,或者需要对一个或多个字符串,进行运算操作,比如,让字符串重复的“*”也是一种运算符;又如2+3中的“+”也是一种运算符。在Python中常见的运算符有:+、-、/、*、<、>、!=、//、%、&、|、^、~、>>、<<、<=、>=、==、not、and和or。
之前在介绍变量类型的时候,其实已经用过了很多算术符,比如+、-、*、/、*等,这和任何其他编程语言都是类似的。除此之外,还有几个符号是之前没有提到的,例如%是用来返回除法余数的运算符号,*表示求幂运算,//表示求商的整数部分,等等。示例如下:
__future__模块是包含Python未来特性的模块,如果使用的是Python 2,就可以通过导入这个模块来使用Python 3的特性。
比较运算符可以用于比较两个值,所有的内建类型都支持比较运算。当用运算符比较两个值时,结果是一个逻辑值,不是 True,就是 False。虽然支持比较,但是有一点要注意:不同的类型的比较方式不一样,数字类型会根据数字的大小和正负进行比较,而字符串会根据字符串序列值进行比较,等等。如表2-1所示。
表2-1
示例如下:
Python语言支持逻辑运算符,其具体的逻辑表达式、描述及实例如表2-2所示(在以下实例中假设变量a为10,b为20)。
表2-2
示例如下:
在 Python 中程序或运算符的执行是有先后顺序的,比如,A 与 B 同时出现,如果 A可以优先于B执行,就说明A的优先级比B的优先级高;其中,A与B可以是运算符,也可以是程序。也就是说,Python中的优先级分为两种,一种是程序之间的优先级,另一种是运算符之间的优先级。这里主要讨论运算符之间的优先级,在运算符优先级排行榜中,各运算符的排行名次如下。
◎ 第1名:函数调用、寻址、下标。
◎ 第2名:幂运算**。
◎ 第3名:翻转运算~。
◎ 第4名:正负号。
◎ 第5名:*、/、%。
◎ 第6名:+、-。
◎ 第7名:<<、>>。
◎ 第 8 名:按位&、^、|,其实这三个也是有优先级顺序的,但是它们处于同一级别,所里这里不再细分。
◎ 第9名:比较运算符。
◎ 第10名:逻辑的not、and、or。
◎ 第11名:Lambda表达式。
关于其具体讲解,读者可自行参考配套代码。