第八章:python的运算符(version 3.7.2)
直奔主题:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 成员运算符
- 身份运算符
- 集合运算符
- 运算符优先级
一.算术运算符
序号 | 运算符 | 意义 | 示例 | 结果 |
---|---|---|---|---|
1 | + | 两个操作数相加 | 7 + 2 | 9 |
2 | - | 两个操作数相减 | 7 -2 | 5 |
3 | * | 两个操作数相乘 | 7 * 2 | 14 |
4 | / | 两个操作数相除 | 7 / 2 | 3.5 |
5 | % | 取余 | 7 % 2 | 1 |
6 | // | 取商的整数部分 | 7 // 2 | 3 |
7 | ** | (操作数1)的(操作数2)次方(幂) | 7 ** 2 | 49 |
二.关系运算符
关系运算符的结果是布尔类型
序号 | 运算符 | 意义 | 示例 | 结果 |
---|---|---|---|---|
1 | == | 等于(表达式1是否等于表达式2) | 7 == 2 | False |
2 | != | 不等于(表达式1是否不等于表达式2) | 7 != 2 | True |
3 | > | 大于(表达式1是否大于表达式2) | 7 > 2 | True |
4 | < | 小于(表达式1是否小于表达式2) | 7 < 2 | False |
5 | >= | 大于等于(表达式1是否大于等于表达式2) | 7 >= 2 | True |
6 | <= | 小于等于(表达式1是否小于等于表达式2) | 7 <= 2 | False |
三.逻辑运算符
序号 | 运算符 | 意义 | 示例 | 结果 |
---|---|---|---|---|
1 | not | 逻辑非,操作数为True时,表达式为False,操作数为False时,表达式为True. | not True,not False | False,True |
2 | and | 逻辑与,两个操作数中任意一个为False,表达式结果就为False,两个操作数同时为True时表达式为True. | True and True,True and False,False and True,False and False | True,False,False,False |
3 | or | 逻辑或,两个操作数中任意一个为True,表达式结果就为True,两个操作数同时为False时表达式为False. | True and True,True and False,False and True,False and False | True,True,True,False |
四.赋值运算符
序号 | 运算符 | 示例 | 等价于 |
---|---|---|---|
1 | = | num = 7 | num = 7 |
2 | += | num += 2 | num = num + 2 |
3 | -= | num -= 2 | num = num -2 |
4 | *= | num *= 2 | num = num * 2 |
5 | /= | num /= 2 | num = num / 2 |
6 | %= | num %= 2 | num = num % 2 |
7 | //= | num //= 2 | num = num // 2 |
8 | **= | num **= 2 | num = num ** 2 |
五.成员运算符
六.身份运算符
Python语言在设计之初为了减少频繁申请和销毁内存的资源开销,规定了shell执行期间 [-5, 256]之间的整数全部常驻在内存中且不会被垃圾回收只能增减引用计数,这就是小整数对象池,池外的数在创建时每次都得申请新的内存空间而不是增加引用计数.在pycharm中不会出现这种情况.
序号 | 运算符 | 意义 | 示例(shell模式) | 结果 |
---|---|---|---|---|
1 | is | 判断两个标识符是不是引用自同一个对象,( 类似id(x) == id(y) ) | x=100, y = 100, x is y | True |
2 | is not | 判断两个标识符是不是引用自不同对象,( 类似id(x) != id(y) ) | X = 1000 ,y = 1000, x is not y | True |
七.集合运算符
对集合进行的运算.
序号 | 操作符 | 案例 | 集合操作 |
---|---|---|---|
1 | == | A==B | 如果集合A等于集合B返回True,反之返回False |
2 | ! | A!=B | 如果集合A不等于集合B返回True,反之返回False |
3 | < | A<B | 如果集合A是集合B的真子集返回True,反之返回False |
4 | <= | A<=B | 如果集合A是集合B的子集返回True,反之返回False |
5 | > | A>B | 如果集合A是集合B的真超集返回True,反之返回False |
6 | >= | A>=B | 如何集合A是集合B的超集返回True,反之返回False |
7 | | | A|B | 计算集合A与集合B进行并集 |
8 | & | A&B | 计算集合A与集合B进行交集 |
9 | - | A-B | 计算集合A与集合B进行差集 |
八.运算符优先级
括号括起来的会优先运算,跟数学一样.
序号 | 运算符 | 描述 |
---|---|---|
1 | ** | 指数运算 |
2 | ~,+,- | 按位取反、一元取正和一元取负 |
3 | *,/,%,// | 乘法、除法、取余和取整 |
4 | +,- | 加法和减法 |
5 | >>,<< | 按位右移、按位左移 |
6 | & | 按位与 |
7 | ^,| | 按位异或、按位或 |
8 | <=,<,>,>= | 关系运算符 |
9 | ==,!= | 关系运算符 |
10 | =,%=,/=,//=,-=,+=,*=,**= | 赋值运算符 |
11 | Is,is not | 身份运算符 |
12 | In,not in | 成员运算符 |
13 | not,or,and | 逻辑运算符 |
点击跳转b站狮范客,有讲浮点数为什么不精确
如有错误还望指出