逻辑运算符中运算优先级的排列,逻辑运算符的优先级顺序依次为

首页 > 实用技巧 > 作者:YD1662023-12-08 23:43:48

另外赋值运算符支持连续的赋值,这和比较运算符类似,但其实也是相当于两个分开的赋值,与优先级无关:

逻辑运算符中运算优先级的排列,逻辑运算符的优先级顺序依次为(5)

本表参考于Python3.7.3官方文档:

逻辑运算符中运算优先级的排列,逻辑运算符的优先级顺序依次为(6)

Python3.10.4官方文档也一样,但是没有前者友好,顺序是相反的:

逻辑运算符中运算优先级的排列,逻辑运算符的优先级顺序依次为(7)

运算符优先级重点说明

运算符优先级的概念并不需要去刻意地记忆,如果对某个运算符的优先级不太确定,可以使用小括号将其包围起来。

当然,记住一些重要的优先级概念,有助于对程序的阅读理解与编写维护。下面是一些重要的优先级:

  1. 小括号具有最高优先级。
  2. 运算符优先级按类别排序:算术 > 位 > 身份 >成员 > 比较 > 逻辑 > 赋值。 算术最高,赋值被低。位非运算符是个另外,它高于乘除。
  3. 身份、成员、比较、赋值运算符,同类中优先级相同。
  4. 算术运算符中:乘方最高,乘除整除取余次之,加减最低。
  5. 位运算符中:位非 > 左右移 > 位与 > 位异或 > 位或
  6. 逻辑运算符中:非最高,与次之,或最低。

另外,我没有听说过任何编程语言有降低运算优先级——与小括号功能正好相反的运算符。这应该是没有必要的,因为根据相对性原理,给一个运算符最高优先级,就相当于给其他运算符最低优先级了,所以,如果想给一个运算符最低的优先级,可以将其余的运算符全部用小括号包围起来。

最后,除了可以用于提高运算符的优先级之外,在Python中,小括号还有另外一个重要的功能——做为元组的定界符。

身为Python特有的四大基本数据类型之一,元组(tuple)已经在本教程中出现过很多次了,在以后还会出现更多次,所以,下一篇将正式介绍元组。敬请关注。

结语

通过本文的编写,我意识到自己对Python的认知还有很大的局限——我刚刚才得知Python中有@矩阵乘法运算符!

虽然我接触编程已有14年了,初识Python也有五六年了,使用Python编写的大大小小的程序工程也有近百个,但是如果不是今天对网上运算符优先级资料正确性的质疑,没有查看官方文档的话,不知道还要多少年之后才会得知这一点。

我以前无论找到的与运算符相关还是运算符优先级相关的Python资料都没有提到@,这也说明网上绝大部分的资料的正确性也需要证明。比如关于乘方运算符的右结合性,网络上大多资料都错误的记录为左结合性。

我写作这样的文章也很困难,因为我吹毛求疵的性格要求我必须写出全网独一无二的最优秀的精品内容,独一无二是很容易的,我的任何一篇文章都有自己独特的理解,并不是简单的对其他地方资料的搬运整合,最优秀就非常困难了,这不仅需要无私的分享精神,更需要卓越的洞察与理解能力,我正在朝这个方向努力。

如果不能做到这一点,我觉得就没有写出来的必要,虽然我的文章点击率很低,但最近的文章都有近十分之一的阅读收藏率证明了读者对它的认可,这也是头条给予1万推荐的原因所在,否则至多100个推荐就到头了。

所以我还是希望读者能够在收藏的同时点个赞,虽然每篇文章只有一两毛的收益,但是如果头条能够认可这是些优质的内容,我依然愿意持续与大家分享我的学习经历。但是也就像我刚才所说的那样,因为没有足够的收益,我只能是不定期的更新。

运算符相关内容



上一页12末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.