知识点
- 关系/逻辑运算
- 表达式
- 类型转换
运算符
表达式由运算符和操作数组成。运算符是一些符号,它告诉 Python 解释器去做一些数学或逻辑操作。
一些基本的数学操作符有 + 、- 、* 、 / 、// 、% 等。
- 进行加减乘除运算时,只要有任意一个操作数是浮点数,结果就会是浮点数。
- 进行除法运算时若是除不尽,结果是小数。
- 如果要进行整除,使用 // 运算符,它返回商的整数部分。
- % 是求余运算符。
>>> # Python 3.7.3
>>> # 加减乘除 + - * / 运算
>>> 1 + 1
2
>>> 1 + 1.0
2.0
>>> 1 - 1.0
0.0
>>> 1 * 1.0
1.0
>>> 1 / 1.0
1.0
>>> # 除法除不尽
>>> 1 / 3
0.3333333333333333
>>> 1 / 3.0
0.3333333333333333
>>> # 整数 // 运算
>>> 1 // 3
0
>>> 1 // -3
-1
>>> -1 // 3
-1
>>> -1 // -3
0
>>> # 取模 % 运算
>>> 1 % 3
1
>>> 1 % -3
-2
>>> -1 % 3
2
>>> -1 % -3
-1
关系运算符
使用关系运算符实现关系运算。
Operator | Meaning |
---|---|
< | Is less than |
<= | Is less than or equal to |
> | Is greater than |
>= | Is greater than or equal to |
== | Is equal to |
!= | Is not equal to |
逻辑运算符
对于逻辑"与",“或”,“非”,使用关键字 and
,or
,not
。
逻辑运算符 and 和 or 也称作短路运算符,它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果 A 和 C 为真而 B 为假,A and B and C 不会解析 C
。作用于一个普通的非逻辑值时,短路运算符的返回值通常是能够最先确定结果的那个操作数。
关系运算可以通过逻辑运算符 and 和 or 组合,比较的结果可以用 not 来取反。逻辑运算符的优先级低于关系运算符,其中 not
优先级最高,or
优先级最低。所以 A and not B or C
等价于 (A and (not B)) or C
。注意,括号在比较表达式中优先级最高。
简写运算符
x = x op expression
可以简写为 x op= expression
形式,有 += 、-= 、*= 、/= 、//= 、%= 等几种。
a = a + b;
a = a - b;
a = a * b;
a = a / b;
a = a // b;
a = a % b;
# 等价于
a += b;
a -= b;
a *= b;
a /= n;
a //= b;
a %= b;
表达式
书写表达式的时候,在每一个运算符左右都放一个空格,这样会使代码更可读。
运算符的优先级
类型转换
可以手动的执行类型转换
类型转换函数 | 转换路径 |
---|---|
float(string) | 字符串 >> 浮点值 |
int(string) | 字符串 >> 整数值 |
str(integer) | 整数值 >> 字符串 |
str(float) | 浮点值 >> 字符串 |
总结
- 关系/逻辑运算
- 表达式
- 类型转换
除了数值运算,关系和逻辑运算也是程序的重要组成部分。
Python 是强类型语言,所以必要的时候需要手动进行类型转换。