0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python中运算符的优先级大小

科技绿洲 来源:网络整理 作者:网络整理 2023-11-29 16:21 次阅读

Python中运算符的优先级决定了表达式中各个运算符的计算顺序。了解运算符的优先级对于正确理解和编写复杂的表达式非常重要。本文将详细介绍Python中运算符的优先级,并给出一些示例来帮助读者更好地理解。

Python中的运算符可以分为以下几类:算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符以及成员访问运算符。这些运算符有不同的优先级。下面我们将详细介绍每个运算符的优先级。

  1. 算术运算符的优先级从高到低依次为:
  • 括号(()):括号内的表达式优先计算。
  • 指数运算符(**):计算幂运算。
  • 乘法(*)、除法(/)、取模(%)、取整除(//):乘法、除法、取模和取整除的优先级相同,从左到右依次计算。
  • 加法(+)和减法(-):加法和减法的优先级相同,从左到右依次计算。

下面是一些示例:

x = 2 + 3 * 4
# 先乘法再加法,结果为14

y = (2 + 3) * 4
# 先括号内的加法再乘法,结果为20

z = 2 ** 3 + 4
# 先指数运算再加法,结果为12

a = 10 / 3 * 2
# 先除法再乘法,结果为6.666666666666667
  1. 比较运算符的优先级从高到低依次为:
  • 全等运算符(is、is not)和包含运算符(in、not in):优先级最高,从左到右依次计算。
  • 比较运算符(==、!=、<、<=、>、>=):优先级较低,从左到右依次计算。

下面是一些示例:

x = 5
y = 10
z = 5

print(x is z) # True
print(x is not y) # True
print(x < y > z) # True
print(x == z) # True
  1. 逻辑运算符的优先级从高到低依次为:
  • 非运算符(not):优先级最高。
  • 与运算符(and):优先级较低。
  • 或运算符(or):优先级最低。

下面是一些示例:

x = True
y = False

print(not x) # False
print(x and y) # False
print(x or y) # True
  1. 位运算符的优先级从高到低依次为:
  • 按位取反运算符(~):优先级最高。
  • 按位与运算符(&):优先级较低。
  • 按位或运算符(|):优先级更低。
  • 按位异或运算符(^):优先级更低。
  • 左移运算符(<<)和右移运算符(>>):优先级最低。

下面是一些示例:

x = 5
y = 3

print(~x) # -6
print(x & y) # 1
print(x | y) # 7
print(x ^ y) # 6
print(x < < 2) # 20
print(y > > 1) # 1
  1. 赋值运算符的优先级从右到左依次为:
  • 幂运算符(**):从右到左依次计算。
  • 乘法(*)、除法(/)、取模(%)、取整除(//):从右到左依次计算。
  • 加法(+)、减法(-):从右到左依次计算。
  • 位运算符(<<、>>、&、|、^):从右到左依次计算。
  • 比较运算符(<、<=、>、>=、==、!=):从右到左依次计算。
  • 赋值运算符(=、+=、-=、*=、/=、%=、//=、**=、&=、|=、^=、<<=、>>=):从右到左依次计算。

下面是一些示例:

x = 2
x += 3 # 等同于 x = x + 3
print(x) # 5

y = 10
y //= 3 # 等同于 y = y // 3
print(y) # 3

z = 5
z **= 2 # 等同于 z = z ** 2
print(z) # 25
  1. 成员访问运算符(点运算符.、下标运算符[])的优先级相同,并且在其他运算符之后计算。

下面是一些示例:

str = "Hello, World!"

print(str[0]) # H
print(str[7:13]) # World
print(str.upper()) # HELLO, WORLD!

通过以上详细介绍,我们可以看出Python中运算符的优先级是根据运算符的类型和功能确定的。理解运算符的优先级对于正确编写和理解复杂的表达式非常重要。希望本文对您有所帮助!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4677

    浏览量

    83467
  • 运算符
    +关注

    关注

    0

    文章

    163

    浏览量

    10947
收藏 人收藏

    评论

    相关推荐

    JAVA语言的运算符优先级

    JAVA语言的运算符优先级表达式的运算次序取决于表达式各种运算符优先级
    发表于 12-06 00:29

    单片机C语言运算符优先级和结合性

    运算符优先级和结合性 优先级操作功能结合性1(最高)()改变优先级 从左到右 2[]数组下标->指向结构体成员.结构体成员 +
    发表于 11-07 10:47

    运算符优先级

    运算符优先级
    发表于 08-20 12:49

    C语言单片机第七课 运算符和表达式(关系运算符)

    址,如在程序前用#define ROM 0xB012 这样的 语句,在程序中就能用上面的方法用 ROM 对绝对地址 0xB012 进行存取操作了。运算符优先级说明表格能在笔者的 本教程附录 查看。
    发表于 10-21 09:38

    C语言,操作优先级顺序。

    ;、==、!=) 〉逻辑运算符(特别要说明,按位与、或的优先级高于逻辑与、或),接下来就是三目运算符?=然后是赋值操作等号,最后是逗号,。运算符
    发表于 01-16 17:30

    STM32学习及应用笔记二:一次运算符优先级造成的错误

    本人在最近一个项目的开发,出现一个应为疏忽运算符优先级造成的问题,检查了很久才发现问题,所以觉得运算符优先级问题还是有必要再研究一下。
    发表于 06-03 12:18

    C语言运算符优先级和结合性

    ,很明显先进行乘法运算,计算3*5,结果为15,再进行加法运算,计算12+15,结果为27。也就是说,乘法的优先级比加法高,要先计算,这与数学的规则是一样的。 所谓
    发表于 07-06 06:46

    Bug之逻辑运算符优先级分享!

    发现原来是运算符优先级的问题;看下面的图可以知道,==的优先级高于 & ,再看上面那段代码。。。发现了什么。。。。。。。天呐,,,可把我害苦了。。这也告诉我们,如果对优先级不全熟悉的话
    发表于 10-28 20:31

    【梦翼师兄今日分享】 常见的关系运算符(if else和case语句)

    立即学习>>梦翼师兄FPGA培训(纯视频),手把手带你入门FPGA写在前面的话说起关系运算符,真的是满心伤痕,这里有一个优先级的问题:关系运算符优先级别低于算数
    发表于 12-19 09:43

    C语言运算符优先级(超详细)

    C语言运算符优先级(超详细) 当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!C语言
    发表于 04-27 16:47

    2.7 python运算符

    运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符运算符成员
    发表于 02-21 16:43

    C语言入门教程-运算符优先级

    运算符优先级C语言有丰富的运算符。如果不清楚这些运算符优先级,则在同时使用多个运算符时就容易产
    发表于 07-29 14:21 1188次阅读

    C语言运算符优先级

    电子发烧友网站提供《C语言运算符优先级.pdf》资料免费下载
    发表于 05-27 08:00 3次下载

    c语言运算符优先级规律

    超详细!快进来复习一下C语言运算符优先级 每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤
    的头像 发表于 04-03 11:30 7235次阅读
    c语言<b class='flag-5'>运算符</b><b class='flag-5'>优先级</b>规律

    python运算符优先级顺序口诀

    Python是一种非常流行的编程语言,具有广泛的应用领域。在Python中,运算符是进行各种数学和逻辑运算的关键部分。了解运算符
    的头像 发表于 11-22 14:34 775次阅读