1.3 算术运算
运算符(operator): 表示简单计算的符号, 例如加法、乘法.
Python语言支持很多种运算符,我们先来了解术运算符。
运算符 +, -, * 和 / 可被用来执行算术运算;
圆括号 () 可被用来进行分组以提高优先级。
>>> 2 + 4
6
>>> 5 - 4
1
>>> 5 * 4 # 乘法
20
>>> 10 / 2 # 除法
5.0 # 除法总会返回小数(浮点数)
>>> 10 - (1 + 2)
7
算术运算符除了比较熟悉的加、减、乘、除运算符外,还有取余、幂运算、整除,如下表:
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加法运算 | 2 + 4 结果为 6 |
| - | 减法运算 | 5 - 4 结果为 1 |
| * | 乘法运算 | 5 * 4 结果为 20 |
| / | 除法运算 | 5 / 4 结果为 1.25 |
| % | 取余运算,返回除法的余数 | 5 % 4 结果为 1 |
| ** | 幂运算,(n次方) | 3 ** 4, 3的4次方,结果为 81 |
| // | 整除运算,只取整数 | 5 // 4 结果是 1 |
>>> 8 % 3 # 8 - 3 * 2
2
>>> 75 % 7 # 75 - 7 * 10
5
>>> 5 ** 2 # 5的2次方
25
>>> 3 ** 4 # 3的4次方
81
>>> 5 // 4 # 5整除2
1
>>> 5.2 // 2
2.0 # 除数或被除数有小数,结果类型为小数,只取整数结果
算数运算符优先级
当表达式含有多个运算符时, 执行顺序主要基于运算次序. 对于数学运算符, Python 遵循数学惯例,优先级为:
括号 > 幂运算 > 乘 = 除 = 整除= 取余 > 加 = 减
>>> (1 + 2) ** 2 # 括号优先于幂运算
9
>>> 3 * 2 ** 3 # 幂运算优先于乘法
24
>>> 2 * 3 + 15 % 8 # 乘、取余优先于加
13 # 6 + 7
字符串的算数运算
字符串也支持加和乘的算数运算,不过跟数学的算数运算有所不同,字符串相加是连接字符串,字符串乘于整数n是字符串重复n次。
>>> 'Hello' + 'World'
HelloWorld
>>> 1 + 2
3
>>> '1' + '2' # 字符串加法运算
'12'
>>> 'hi' * 3
'hihihi'
>>> 12 * 3
36
>>> '12' * 3 # 字符串乘法运算
'121212'