Python 运算
分类
- 算数运算
- 比较
- 赋值
- 逻辑
- 位运算
- 身份检查
- 成员检查
1. 算数加法(数学运算)
- +
- -
- *
- /
- ** 幂运算
- // 取商
- % 取余
2. 比较运算
- >
- <
- >=
- <=
- == 等于
- != 不等于
3. 赋值运算
- = 赋值符
- += 加法赋值 a += 1 等于 a = a+1
- -=
- *=
- /=
- %=
- //=
- **=
4. 逻辑运算(bool值)
- and ‘‘和’’ 两者为True为True,否则为False
- or “或者” 一个为True则为True
- not “非” 真亦假,假亦真
5. 位运算
注意:位运算过程中,补码的高位数也参与运算
- & 按位与运算 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
- | 按位或运算 只要对应的二个二进位有一个为1时,结果位就为1。
- ~ 按位非运算 对数据的每个二进制位取反,即把1变为0,把0变为1。
- ^ 按位异或运算 当两对应的二进位相异时,结果为1,否则为0。
- << 左移运算 运算数的各二进位全部左移若干位,低位补0。<< 右边的数字指定了移动的位数
- >> 右移运算 把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
6. 身份运算(检测两个数据在内存中是否为同一值)
内存地址相等,则值肯定相等:值相等,内存地址不一定相等
is 检测是否相等,类似于id (x) == id(y),如相等则返回True,否则返回False
is not 检测不相等
运算优先级
从大到小(有括号先算括号里面的,类似数学计算):
**(幂运算)
~(按位非运算)
±(正负数)
*/% //(乘法除法取余取商)
±(加减)
<< >>(左移右移)
&(按位与运算)
^(按位异或运算)
|(按位或运算)
< <= > >= != ==(比较运算)
= %= /= //= -= += *= **= (赋值运算符)
is is not(身份运算)
in not in(成员检测)
not(逻辑非运算)
and(逻辑与运算)
or(逻辑或运算)