python的运算符与表达式你真的了解吗
目录
- 一、表达式
- 二、运算符
- 1、算术运算符
- 2、赋值运算符
- 3、比较运算符
- 4、逻辑运算符
- 5、成员关系运算
- 6、对象实例测试
- 7、位运算
- 8、一元运算 :
- 三、python运算符优先级
- 1、运算符优先级
- 2、计算顺序
- 总结
一、表达式
- 是由一个或多个操作数通过操作符组合而成
- 最简单的表达式仅包含一个字面值常量或变量
二、运算符
1、算术运算符
运算符 | 描述(变量a为10,变量b为21) | 实例 |
+ | 加:两个对象相加 | a+b 输出:31 |
- | 减:得到负数或是一个数减去另一个数 | a-b 输出:-11 |
* | 乘:两个数相乘或返回一个被重复若干次的字符串 | a*b 输出:210 |
/ | 除:x除以y | b/a 输出:2.1 |
% | 取余:返回除法的余数 | b%a 输出:1 |
** | 幂:返回x的y次幂 | a**b 为10的21次方 |
// | 取整除:向下取接近除数的整数 | 9//2==4;-9//2==-5 |
2、赋值运算符
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值给c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %=a 等效于 c = c % a |
**= | 幂赋值运算符 | c ** a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
3、比较运算符
运算符 | 描述(a为10,b为20) | 实例 |
== | 等于:比较两个对象是否相等 | (a==b) 返回False |
!= | 不等于:比较两个对象是否不相等 | (a!=b) 返回True |
> | 大于:比较a是否大于b | (a>b) 返回False |
< | 小于:比较a是否小于b | (a<b) 返回True |
>= | 大于等于:比较a是否大于等于b | (a>=b) 返回False |
<= | 小于等于:比较a是否小于等于b | (a<=b) 返回True |
- 可以多个运算符连用
- 如:10 > x > 5
- 等价于:x < 10 and x > 5
4、逻辑运算符
运算符 | 逻辑表达式 | 描述(x 为 10,y 为 20) | 实例 |
and | x and y | 与:如果x为False,返回False,否则返回y的计算值 | (x and y) 返回 20 |
or |
x or y |
或:如果x为True,返回x的值,否则返回y的计算值 | (x or y) 返回 10 |
not | not x | 非:如果x为True,返回False,如果x为False,返回True | not (a and b)返回False |
运算:
若or左侧表达式为True,则短路后面所有的表达式(不管是and还是or)
若and左侧表达式为False,则短路后面所有的and表达式
5、成员关系运算
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回True,否则返回False | 如果x在y序列中返回True |
not in | 如果在指定的序列中没有找到值返回True,否则返回False | 如果x不在y序列中返回True |
6、对象实例测试
运算符 |
描述 |
实例 |
is | 是判断两个标识符是不是引用自一个对象 | x is y,类似id(x) == id(y),如果引用的是同一个对象则返回True,否则返回False |
is not | 是判断两个标识符是不是引用自不同对象 | x is not y,类似id(x) != id(y),如果引用的不是同一个对象则返回True,否则返回False |
7、位运算
运算符 | 描述(换算成二进制计算) | 实例 |
& | 参与运算的两个值,如果两个相应位都为1,则该位结果位2,否则为0 | a & b |
| | 只要对应的二个二进位有一个为1时,结果位就为1 | a | b |
^ | 当两对应的二进位相异时,结果为1 | a ^ b |
~ | 对数据的每个二进制位取反,即把1变为0,把0变为1;-x类似于 -x-1 | a ~ b |
<< | 运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0 | a << b |
>> | 把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数 | a >> b |
8、一元运算 :
+x ; -x ;~x
三、python运算符优先级
1、运算符优先级
运算符 | 描述 |
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号 |
* / % // | 乘、除、取余和地板除 |
+ - | 加法减法 |
>> << | 右移、左移运算符 |
& | 位‘AND’ |
^ | | 位运算符 |
<= < > >= |
比较运算符 |
< > == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
and or not | 逻辑运算符 |
2、计算顺序
- 运算符优先级表决定了哪个运算符在别的运算符之前计算
- 具有相同优先级的运算符按照从左往右的顺序计算
- 改变它们的计算顺序,得使用圆括号:(2+3)*4
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
赞 (0)