栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【python】运算符优先级大全

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【python】运算符优先级大全

运算符优先级大全列表
  • 运算符优先级大全列表:
  • 比较一:指数运算优先级比正负号优先级高
  • 比较二:加减运算符比逻辑运算符优先级高
  • 多种运算符结合
  • 掌握多种运算优先级的先后

运算符优先级大全列表:
优先级顺序运算符运算符名称
1**指数
2~, +, -按位翻转,数前的正负号(注意非加减)
3*, /, %, //乘、除、取模、取整
4+, -加、减
5>>, <<二进制右移左移位
6&二进制按位与运算符
7^, l二进制按位异或、或运算符
8==, !=, <, >, >=, <=比较运算符
9=, %=, /=, //=, -=, +=, *=, **=赋值运算符
10is, is not身份运算符
11in, not in成员运算符
12not, or, and逻辑运算符
比较一:指数运算优先级比正负号优先级高
print(-2**4)

执行结果:

说明:
结果为-16,说明指数运算优先级高于数前正负号。


比较二:加减运算符比逻辑运算符优先级高
print(2 - 1 and True)
print((2 - 1) and True)
print(2 - (1 and True))

执行结果:

说明:
说明2-1的优先级高于1 and True的优先级,即加减运算符比逻辑运算符优先级高。


多种运算符结合
if (3+5)/2**2<2 and 8 is range(1):
    print("yes")
else:
    print("no")

化简程序部分:

if (3+5)/2**2<2 and 8 is range(1):
=> if 8/4<2 and 8 is range(1):
=> if False and False:

解析:

本代码中一共六个运算符:
首先最高优先级的是括号内的内容,即(3+5)=8;
其次优先级最高的为 ** 指数运算,即 2**2=4;
所以化简为 8/4<2 and 8 is range(1)


在化简后的部分里,最高的除法,其次是小于号,然后是is,最后是and。
所以再次化简:
2<2 and False: => False and False => False


掌握多种运算优先级的先后

如何掌握判断各种优先级的先后顺序,其实唯手熟儿。高中已经掌握了加减运算优先级低于乘除运算,括号内优先级最高;现在只要再记住指数运算 ** 最高,比较运算符高于逻辑运算符就好。其他的运算符非一般条件下不常用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号