购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 运算符与表达式

2.2.1 运算符

1.算术运算符

Python常用算术运算符见表2.2。

表2.2 Python常用算术运算符

2.逻辑运算符

Python常用逻辑运算符见表2.3。

表2.3 Python常用逻辑运算符

3.关系运算符

Python常用关系运算符见表2.4。

表2.4 Python常用关系运算符

4.赋值运算符

赋值运算符是赋值语句的简化,常用赋值运算符见表2.5。

表2.5 Python常用赋值运算符(假设a=10,b=20)

5.位运算

位运算符只能用来操作整数类型,它按照整数在内存中的二进制形式进行计算。Python支持的位运算符见表2.6。

表2.6 Python支持的位运算符

假设变量a=10,b=23,即二进制格式a=0000 1010,b=0001 0111。用变量a和b执行表2.6中的位运算符,结果如图2.2所示。

图2.2 位运算举例

a)a&b按位与 b)a|b按位或 c)a^b按位异或 d)~a按位取反 e)a<<2按位左移 f)a>>2按位右移

2.3 位运算符及其表达式

2.2.2 表达式

1.算术表达式

算术表达式是由算术运算符连接起来的有意义的式子,如表2.2中的实例。

(1)快速体验

写出表达如下概念的表达式:

①取出345的个位上的数字:345%10。

②取出345的百位上的数字:int(345/100)或345//100。

(2)思考

①写出“取出345的十位上的数字”表达式。

②写出“ ”表达式。

2.逻辑表达式

逻辑表达式是由逻辑运算符连接起来的有意义的式子,如表2.3中的实例。

Python逻辑表达式的值与其他编程语言略有区别,可以是逻辑值,也可以是数值。如:

思考:计算下列逻辑表达式的值:

①7 and 1+8

②(7 and 1)+8

③7 or 1+8

④(7 or 1)+8

3.关系表达式

关系表达式是由关系运算符连接起来的有意义的式子。如表2.4中的实例,关系表达式的值为逻辑值。

(1)快速体验

写出表达如下概念的表达式:

①x为偶数:x%2==0

②x在0,1之间:0<=x and x<=1或0<=x<=1

③字母:(ch>='a' and ch<='z') or (ch>='a' and ch<='z')

④闰年:(year%4==0 and year%100!=0) or year%400==0

(2)思考

写出表达如下概念的表达式:

①x为整数。

②x为大于100的奇数。

4.赋值表达式

赋值表达式是由赋值符连接起来的有意义的式子,如表2.5中的实例。

(1)重要赋值表达式

①递推式:s n =s n-1 +a n 。其中,a n 是序列的通项公式,表示序列的第n项,s n 表示第n次累积运算结果。累积运算不一定是“+”,可以是“-”“*”等。递推式也可以是多阶递推,如s n =s n-1 +s n-2 +a n 。在编程语言中,不能用不同下标表示不同的变量,但如果是一阶递推,s n 、s n-1 可以用同一变量s表示,记为s=s+a,或s+=a。

②计数器:0,1,2,3,…。计数器是特殊的递推式,a n =1,记为:s+=1,s初始值为0,而递推式s=s+a,s的初始值不一定为0,与问题有关。

(2)快速体验

①序列1,3,5,7,…的通项公式:a n =2*n-1

②序列1,1,2,3,5,7,12,…的通项公式:a n =a n-1 +a n-2 (n>2)

(3)思考

①写出序列1/2,1/3,1/5,1/7,…的通项公式。

②写出序列1/2,2/3,3/5,5/7,…的通项公式。

2.2.3 运算符优先级

所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。例如对于表达式16+4*2等价于16+(4*2),即Python会先计算乘法再计算加法,结果为24;如果希望先计算加法,那就必须加括号:(16+4)*2。Python常用运算符优先级见表2.7。

表2.7 Python常用运算符优先级

(续) zsQFSM6h6mzgz5W5yT4tY9DxUABug+1SeduGfQy/pG+rqXSN/Uu364jNNq/ziNrl

点击中间区域
呼出菜单
上一章
目录
下一章
×