2022年 11月 7日

Python 运算符优先级

运算符是构成python表达式的基础,了解python有哪些运算符及运算符之间的优先级,对于构建合适的python表达式很有帮助,本文主要记录python运算符及优先级关系。
 

运算符的优先级

如下表所示,优先级按照从低到高排序,“lambda”优先级最低,“括号、列表推导、元组推导、字典推导、集合推导”优先级最高,位于同一方框中的运算符具有相同的优先级下表中运算符中带“x”的表示一元运算符

运算符 描述
lambda lambda表达式
if-else 条件表达式
or 布尔运算或
and 布尔运算与
not x 布尔运算取反
in, not in, is, is not, <, <=, >, >=, !=, == 成员检查、实体检查、比较运算
| 位运算或
^ 位运算异或
& 位运算与
<<, >> 位运算移动
+, – 加法, 减法
*, @, /, //, % 乘法、矩阵乘法、除法、整除、取余
+x, -x, ~x 取正、取反、按位取反
** 幂运算
await x await 表达式
x[index], x[index:index], x(arguments…), x.attribute 索引、切片、调用、属性引用
(expressions…), [expressions…], {key: value…}, {expressions…} 括号, 列表、元组、字典、集合推导式

 

补充材料

在这里插入图片描述
 

SimHash

SimHash在计算文档hashcode值、及计算两个hashcode之间的“海明距离”时,需要使用到“位运算符”。关于SimHash的原理及实现可以阅读参考资料3。
 

参考资料

  1. 官网-python运算符
  2. python运算符
  3. 使用SimHash进行海量文本去重