运算符和表达式
与其他语言一样,Python支持大多数运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符。
表达式是将一系列的运算对象用运算符联系在一起构成的一个式子,该式子经过运算以后有一个确定的值。比如,使用算术运算符连接起来的式子称为“算术表达式”,使用逻辑运算符连接起来的式子称为“逻辑表达式”。
算术运算符和表达式
算术运算符主要用于数字的处理。Python中常用的算术运算符与表达式如下表所示。
赋值运算符和表达式
赋值运算符主要用来为变量等赋值。赋值运算符的功能是将右侧表达式的值赋值给左侧的变量,因此,赋值运算符(=)并不是数学中的等于号。Python中常用的赋值运算符与表达式如下表所示。
需要注意的是,赋值运算符左侧只能是变量名,因为只有变量才拥有存储空间,可以把数值放进去。例如,表达式“a+b=c”或者“a=b+c=10”都是非法的。
比较运算符和表达式
比较运算符也称为“关系运算符”,主要用于比较大小,运算结果为布尔型。当关系表达式成立时,运算结果为True,当关系表达式不成立时,运算结果为False。Python中常用的比较运算符与表达式如下表所示。
逻辑运算符和表达式
逻辑运算符用于对布尔型数据进行运算,运算结果仍未布尔型。Python中常用的逻辑运算符与表达式如下表所示。
在上表中,exp、exp1和exp2都是表达式。使用逻辑运算法进行逻辑运算时,其运算结果如下表所示。
运算符的优先级与结合性
优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。例如,对于表达式“3+4*5”,Python会先计算乘法,再计算加法,得到结果为23,因为乘法的优先级要高于加法的优先级。
结合性,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫“左结合性”,先执行右边的叫“右结合性”。例如,对于表达式“100/54”,/和的优先级相同,应该先执行哪一个呢?这个时候就不能只依赖运算符优先级了,还要参考运算符的结合性。/和*都具有左结合性,因此先执行左边的除法,再执行右边的乘法,最终结果是80.
Python中大部分运算符都具有左结合性,也就是从左到右执行;只有幂运算符(**)、单目运算符(如not)、赋值运算符和三目运算符例外,它们具有右结合性,也就是从右向左执行。下表列出了常用的Python运算符的优先级和结合性。
参考书籍:
Python程序设计基础教程(微课版) 林子雨 赵江声 陶继平编著