Python的运算符
-
算术运算
-
+
-
-
-
*
乘法
-
/
除法
-
//
整除
-
%
取余数
-
**
x的y次幂
-
开方(没有提供直接的运算符)
x ** (1/2)
-
abs()
取绝对值
-
-
赋值运算
通过
=
赋值a = 1
-
比较运算
比较的是两个对象的字面值, 字面值暂时可以简单地理解为输出值
-
<
-
>
-
<=
-
>=
-
==
等于
-
!=
不等于
-
-
标识号比较运算
比较的是两个变量的内存地址
-
is
-
is not
-
赋值类型为
str
,int
的时候要考虑Python
常量池a = "test_1" b = "test_1" a is b >>> True a = '你好' b = '你好' a is b >>> False
-
-
成员检测运算
判断元素是否在当前序列当中
-
in
a = [1,2,3] 1 in a >>> True b = [1, 2] b in a >>> False
-
not in
-
-
布尔运算
判断当前语句的结果是
True
还是False
-
and
只有两边都是
True
才返回True
-
or
两边表达式有一个
True
返回的结果为True
-
短路
表达式A or 表达式B 当表达式A为True时, 表达式B就不会运行
-
-
逻辑取反
not
-
-
位运算
二进制运算, 未来刷题的时候再说, 有兴趣的同学可以了解一下
~
^
>>
<<
&
|
Python运算符优先级
运算符 | 描述 |
---|---|
or | 布尔运算或 |
and | 布尔运算与 |
not | 布尔运算逻辑取反 |
in, not in, is, is not, <, !=, … | 比较运算, 成员检测运算, 标识号检测 |
+, - | 加法和减法 |
*, /, //, % | 乘法, 除法, 整除, 取余 |
+x, -x | 正负数 |
** | 幂 |
-
自定义优先级
如果不确定优先级, 出于可读性和避免未知的BUG, 我们都应该用()来自定义优先级
-
通过
()
(not b and c) or (d and e)
-