python运算符及优先级顺序
程序员文章站
2022-04-06 11:59:25
python语言是一门脚本语言,支持面向对象、面向过程编程,兼具编译性和解释性的动态语言,整理出学习过程中一些基本Python运算符和运算符的优先级顺序。 一、算术运算符 二、比较运算符 三、赋值运算符 四、位运算符 五、逻辑运算符 六、成员运算符 七、身份运算符 八、运算符优先级 以下所列优先级顺 ......
python语言是一门脚本语言,支持面向对象、面向过程编程,兼具编译性和解释性的动态语言,整理出学习过程中一些基本python运算符和运算符的优先级顺序。
一、算术运算符
运算符 | 描述 |
---|---|
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x除以y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 取整除 - 返回商的整数部分(向下取整) |
二、比较运算符
运算符 | 描述 |
---|---|
== | 等于 - 比较对象是否相等 |
!= | 不等于 - 比较两个对象是否不相等 |
<> | 不等于 - 比较两个对象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量true和false等价。 |
>= | 大于等于 - 返回x是否大于等于y。 |
<= | 小于等于 - 返回x是否小于等于y。 |
三、赋值运算符
运算符 | 描述 |
---|---|
= | 简单的赋值运算符 |
+= | 加法赋值运算符 |
-= | 减法赋值运算符 |
*= | 乘法赋值运算符 |
/= | 除法赋值运算符 |
%= | 取模赋值运算符 |
**= | 幂赋值运算符 |
//= | 取整除赋值运算符 |
四、位运算符
运算符 | 描述 |
---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 |
五、逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 布尔"与" - 如果 x 为 false,x and y 返回 false,否则它返回 y 的计算值。 |
or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 |
not | not x | 布尔"非" - 如果 x 为 true,返回 false 。如果 x 为 false,它返回 true。 |
六、成员运算符
运算符 | 描述 |
---|---|
in | 如果在指定的序列中找到值返回 true,否则返回 false。 |
not in | 如果在指定的序列中没有找到值返回 true,否则返回 false。 |
七、身份运算符
运算符 | 描述 |
---|---|
is | is 是判断两个标识符是不是引用自一个对象 |
is not | is not 是判断两个标识符是不是引用自不同对象 |
八、运算符优先级
以下所列优先级顺序按照从低到高优先级的顺序;同行为相同优先级。
1 lambda #运算优先级最低 2 逻辑运算符: or 3 逻辑运算符: and 4 逻辑运算符:not 5 成员测试: in, not in 6 同一性测试: is, is not 7 比较: <,<=,>,>=,!=,== 8 按位或: | 9 按位异或: ^ 10 按位与: & 11 移位: << ,>> 12 加法与减法: + ,- 13 乘法、除法与取余: *, / ,% 14 正负号: +x,-x