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 位运算符及其表达式
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,…的通项公式。
所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。例如对于表达式16+4*2等价于16+(4*2),即Python会先计算乘法再计算加法,结果为24;如果希望先计算加法,那就必须加括号:(16+4)*2。Python常用运算符优先级见表2.7。
表2.7 Python常用运算符优先级
(续)