????????近期比较空闲,也想更好的使用python,所以决定整理一下基础知识,代码来自源码,解析来自官方文档。
下表总结了Python中运算符的优先级,从最高优先级(最大约束)到最低优先级(最小约束).
同一框中的运算符具有相同的优先级.除非明确给出语法,否则运算符是二进制的.同一框中
的运算符从左到右分组(幂运算除外,幂运算从右到左分组).
注意,比较、成员资格测试和身份测试都具有相同的优先级,并且具有从左到右的链接功能,
如比较部分中所述.
操作符 描述
"(expressions)","[expressions]", 元组显示、列表显示、
"{key:value}","{expressions}" 字典显示、集合显示
"x[index]","x[index:index]", 取值、切片、
"x(arguments)","x.attribute" 方法调用、属性引用
"await" 等候
"**" 求幂[1]
"+x", "-x", "~x" 正、负、按位非
"*", "@", "/", "//", "%" 乘法、矩阵乘法、除法、商、余数[2]
"+", "-" 加减法
"<<", ">>" 左移,右移
"&" 按位与
"^" 按位异或
"|" 按位或
"in","not in","is","is not", 比较,包括成员资格测试,
"<","<=",">",">=","!=","==" 身份测试
"not" 布尔非
"and" 布尔与
"or" 布尔或
"if" – "else" 条件表达式
"lambda" Lambda表达式
":=" 赋值表达式
-[脚注]-
[1] 幂运算符"**"比其右侧的算术或按位一元运算符绑定得更紧,也就是说,"2**-1"is"0.5".
[2] "%"运算符也用于字符串格式设置;同样的优先顺序也适用.
参考文档:Python 教程 — Python 3.10.0 文档
待完善...
|