python运算符和优先级

python运算符和优先级

1.  算数运算符: + - * / // % **

+-*/// 地板除,即结果为整数
% 取余
** 幂运算

2.  比较运算符: > < >= <= == !=

>  大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于

3.  赋值运算符: = += -= *= /= //= %= **=

=   赋值
+=  加等于,注意:python里不像c#等语言一样有 ++ 运算符
-=  减等于,同样,python里没有 -- 运算符
*=  乘等于
/=  除等于
//= 地板除等于
%=  取余等于
**= 幂等于
 

4.  成员运算符: in 和 not in (针对于容器型数据)

in        判断元素是在容器中,如果不在则结果是 False,否则 True
not inin 相反
如果是字符串,必须是一个连续的片段才能判断成功
在dict 中,innot in 判断的是字典的键

5.  身份运算符: is 和 is not (检测两个数据在内存当中是否是同一个值)

is        用来判断2个变量的地址是否一致
not is    与is相反
(var1 == var2) 与 (var1 is var2) 区别: == 是在比较两个值是否相同,is 是在比较两个值地址是否相同
附加:
判断类型方法:
一般使用isinstance。isinstance(要判断的数据, 判断的类型) 返回 bool 类型
或者 (type(var) == int)

6.  逻辑运算符: and or not

and   且,即并且
or    或,即或者
not   非,即反真

7.  位运算符: & | ~ ^ << >>

& 按位与:  同为 1 才为 1
| 按位或:  其中一个为 1 则为 1
^ 按位异或:不同则为 1
<< 左移:   n << m 相当于n*2的m次幂
>> 右移:   n >> m 相当于n除2的m次幂
~ 按位非:  操作的二进制的补码, 对二进制的每一位进行取反,包括符号位 公式:-(n+1)

8.  运算符的优先级:

优先级最高   括号()
优先级其次   **
优先级最低   =

一元运算符: 同一时间只操作一个数字的(-, ~)
二元运算符: 同一时间能操作二个数字的(+, -...)
~19 + 5
一般来说, 一元运算符 大于 二元运算符的优先级
+ - * / = > * / 大于 + -
() not and or = > not > and > or

如果都是二元运算符:
算术运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
赋值运算符 作为最后等号右边的值算好后进行赋值.

猜你喜欢

转载自www.cnblogs.com/trent-fzq/p/10890435.html