Python入门8-运算符的分类
Python支持以下类型的运算符
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 成员运算符(in / not in)
- 身份运算符(is / is not)
1 . 算术运算符
| 运算符 | 描述 | 实例 |
|---|
| + | 加 - 两个对象相加 | 1+1 输出结果 2 |
| - | 减 - 得到负数或是一个数减去另一个数 | 1-1 输出结果 0 |
| * | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | 2*3 输出结果 6 |
| / | 除 - x除以y | 6 / 3 输出结果 2 |
| % | 模运算 - 返回除法的余数 | 3 % 2输出结果 1 |
| ** | 幂 - 返回x的y次幂 | 2**3 为2的3次方, 输出结果 8 |
| // | 取整除 - 返回商的整数部分(向下取整) | 11 // 2 输出结果是5 - 11//2 输出结果是 - 6 |
注:
- 整除采取下取整的规则,取小于商的最的最大整数
- 整除(//)运算如果有一个操作数是浮点数,结果就是浮点数
1.1.数学函数
| 函数 | 函数的说明 | 示例 |
|---|
| abs(x) | 取数字的绝对值 | abs(-10) 返回 10 |
| pow(x, y) | x 的 y 次方 | pow(10, 3) 求10的3次方 |
| round(x , [n]) | 浮点数的4舍5入, n代表保留小数的位数 | round(3.1415,3) 保留3.1415的3位小数 返回3.142 |
| max() | 求给定参数的最大值 | max(1,5,6,8,9) |
| min() | 求给定参数的最小值 | min(21,35,68,78) |
注:算术运算符的优先级也是先乘除后加减
2 . 比较(关系)运算符
| 运算符 | 示例 | 说明 |
|---|
| == | a==b | a和b的值是否相等,相等结果是True,不相等结果为False |
| != | a !=b | a是否不等于b,如果不等于结果是True,否则结果为False |
| > | a > b | a 是否大于b,如果是结果为True,否则结果为False |
| >= | a>=b | a是否大于或等于b ,如果是结果为True,否则结果为False |
| < | a < b | a 是否小于b,如果是结果为True,否则结果为False |
| <= | a <= b | a是否小于或等于b ,如果是结果为True,否则结果为False |
注:优先级相同 从左向右算
3 . 赋值运算符
假设变量a=5,变量b=10:
| 运算符 | 说明 | 示例 |
|---|
| = | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
| += | 加法赋值运算符 | a+=b 等价于 a = a + b 结果是a=15 |
| -= | 减法赋值运算符 | a - = b 等价于 a = a - b 结果是a=-5 |
| *= | 乘法赋值运算符 | a * = b 等价于 a = a * b 结果是a=50 |
| /= | 除法赋值运算符 | a /= b 等价于 a = a / b 结果是a=0.5 |
| %= | 取模赋值运算符 | a %= b 等价于 a = a % b 结果是a=5 |
| **= | 幂赋值运算符 | a ** = b 等价于a = a ** b |
| //= | 取整除赋值运算符 | a //= b 等价于 a = a // b 结果是a=0 |
注:
- 赋值运算符左边必须是变量
- 从右往左算
- 运算符优先级相同,赋值运算符优先级比较低,仅高于成员运算符和身份运算符、逻辑运算符
4 . 逻辑运算符
在逻辑运算中,False、None、0、0.0、‘’(空字符串)被看做假(False),其它的看做真(True)
假设变量a=5,变量b=10:
| 运算符 | 逻辑表达式 | 描述 | 实例 |
|---|
| and | a and b | “与” -如果a为真,结果为b的值,否则结果是a的值 | (a and b) 返回10。 |
| or | a or b | “或” - 如果a为真,结果为a的值,否则结果是b的值 | (a or b) 返回 5。 |
| not | not x | “非” - a为真则表达式为False,否则表达式为True | not(a and b) 返回 False |
注:and:优先返回假值对象,or:优先返回真值对象。
5 . 成员运算符
| 运算符 | 描述 |
|---|
| in | 如果在指定的序列中找到值返回 True,否则返回 False。 |
| not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 |
6 . 身份运算符
| 运算符 | 描述 |
|---|
| is | is 是判断两个标识符是不是引用自一个对象 |
| is not | is not 是判断两个标识符是不是引用自不同对象 |
7 . 运算符优先级
运算符优先级从低到高是如下:
1 逻辑运算符: or
2 逻辑运算符: and
3 逻辑运算符:not
4 成员测试: in, not in
5 同一性测试: is, is not
6 比较: <,<=,>,>=,!=,==
7 按位或: |
8 按位异或: ^
9 按位与: &
10 移位: << ,>>
11 加法与减法: + ,-
12 乘法、除法与取余: *, / ,%
13 正负号: +x,-x