python运算符优先级

编程中涉及运算符优先级的个人经验

什么是运算符的优先级,简而言之就是我们小学学过的加减乘除的优先运算法则,即有括号先算括号,没有括号就先乘除后加减。计算机编程语言当中的运算符优先级也大概如此。而且,不仅是python,在其他的计算机编程语言当中也存在着相应的运算符,而且其相应的运算符也跟python一样有着优先级的关系。

说实话,鄙人也记不得全部的运算符优先级关系,鄙人也相信很多编程行业的从业人员也记不得,很多都是现查现用,不过,鄙人有个经验,就是不管什么优先级,写算法的时候一律加上括号——“()”,英文的括号。这样写代码,哪怕不写备注,那么在阅读自己写的代码,或别人阅读自己的代码也并不会造成太大的障碍!既然如此,我们还需要了解这运算符的运算优先级关系吗?需要的。因为关键是如果我们不懂得运算符的优先级关系,且代码没有括号的话,我们就比较难阅读它们了。所以,还是需要了解一下,或者说在阅读的时候懂得怎么查资料,就像查字典一样。


python运算符优先级顺序表

运算符类型优先级顺序,“、”间为相等的级别
算术运算符**幂 > *乘、/除、%取余、//取整 > +加、-减
比较运算符==、!=、>、<、<=、>=,即比较运算符之间没有优先级
赋值运算符=、+=、-=、*=、/=、%=、**=、//=,即赋值运算符之间没有优先级
逻辑运算符布尔非not > 布尔与and > 布尔或or
成员运算符in、not in,即成员运算符之间没有优先级
身份运算符is、is not,即身份运算符之间没有优先级
位运算符按位取反 > 左移、右移、按位与、按位或、按位异或;因为位运算在python当中极少运用到,鄙人开发时从未遇到,包括机器学习,所以没有介绍。
总运算符优先顺序**幂 > 按位取反 > %取余、/除、*乘、//取整 > +加、-减法>左移、右移、按位与、按位或、按位异或 > 比较运算符 > 赋值运算符 > 身份运算符 > 成员运算符 > 布尔非not > 布尔与and > 布尔或or

全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.