在python里面,有很多运算符,比如:算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符、身份运算符和位运算符等。这里主要来看看这些运算符的优先级:从上到下优先级依次递减。

优先顺序 运算符 说明
1 ** 指数(次幂运算)
2 ~ + - 取反、正号运算和负号运算
3 * / % // 乘、除、取模和取整除
4 + - 加法、减法
5 >> << 右移,左移位运算符
6 & 按位与
7 ^ | 按位异或和按位或
8 <= < > >= 比较运算符
9 == != 等于和不等于运算符
10 = %= /= //= -= += *= **= 赋值运算符
11 is is not 身份运算符
12 in not in 成员运算符
13 not or and 逻辑运算符

1-4为算术运算符,5-7为位运算符,其他的皆有标明。

小试牛刀

先来热热身,做道题吧:

小提示:做题的时候记得看看上面的优先级表哦~

设a=1,b=2,c=3,d=4,表达式a>b and c<=d or 2*a>c 的值是?
A.False B.True C.-1 D.1

先不要偷看答案哦~自己试着做做吧!

~

~

~

~

~

~

正确答案是A。这里优先级最高的是*,所以先计算2*a=2。其次优先级是<= < > >=,优先级最低的是not or and,同一等级级别一样。

(1)计算优先级<=  <  >  >=
a>b:1>2 False
c<=d:3<=4 True
2*a>c:2>3 False
原式可写为:False and True or False
(2)计算优先级and or
and和or同等优先级,从左到右依次执行。
False and True-->False
False or False-->False
所以正确选项为A.False

易错题

不妨来做道题练练手,下面这道题,做错的概率可是很高的哦。不如你来试试手:

假设X=3,Y=5,Z=2,则表达式(X^2+Y)/Z的值是?
A.1 B.5 C.3 D.2.0

注意:这里的^是异或的标志!

做完之前不许偷看答案哦~

~

~

~

~

~

~

正确答案是D。做对了吗?

没做对就来看看解析吧~

本题优先级从高到低依次为:小括号()-->加法+-->异或^-->除号/

(1)先算小括号里面的加法:2+Y=2+5=7
(2)7转换为2进制为:0111
(3)X=3,3转换为2进制为0011
(4)7和3进行异或运算:
0111
0011
------
0100-->十进制为4
(5)4/Z=4/2=2
所以D选项正确。

你get到了吗?

还没捋清楚的小伙伴不妨试试自己做做这道题弄不懂的话再百度哦

下面语句的输出结果是_____
not(3>5 and 5<7 or 8+9<23)

小提示:千万不要忘了前面的not哦~

参考文献

[1] 刘庆,姚丽娜,余美华;《Python编程案例教程》,航空工业出版社

python运算符优先级及部分运算的更多相关文章

  1. Python 运算符优先级

    这个表给出Python的运算符优先级(从低到高). 从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合). 这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上 ...

  2. python运算符优先级

    下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合).这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符. ...

  3. python运算符优先级问题

    附上 对于or与and运算 其一, 在不加括号时候, and优先级大于or 其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y 第三, x and y 的值只可能是x或y. x为 ...

  4. python运算符及优先级

    计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 一.算数运算 以下假设变量:a=10,b=20 二.比较运算 ...

  5. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

  6. Python运算符与表达式

    Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...

  7. Python——运算符

    Python算术运算符 以下假设变量: a=10,b=20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 ...

  8. 【279】◀▶ Python 运算符说明

    参考:Python 运算符说明 目录: 一.算术运算符 二.比较(关系)运算符 三.赋值运算符 四.位运算符 五.逻辑运算符 六.成员运算符 七.身份运算符 八.运算符优先级 一.Python 算术运 ...

  9. Python运算符及逻辑运算

    基本运算符 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运 ...

随机推荐

  1. Anaconda 创建 32位python虚拟环境

    Anaconda 创建 32位python虚拟环境 ​ 最近实习在做一个接口自动化数据上传的功能,因为数据是更新的,需要每次上传都查询数据库调用匹配,就不得不面对 python 连接 oracle . ...

  2. 使用 ES Module 的正确姿势

    前面我们在深入理解 ES Module 中详细介绍过 ES Module 的工作原理.目前,ES Module 已经在逐步得到各大浏览器厂商以及 NodeJS 的原生支持.像 vite 等新一代的构建 ...

  3. ServletContext接口

    Servlet 容器启动时,会为每个 Web 应用(webapps 下的每个目录都是一个 Web 应用)创建一个唯一的 ServletContext 对象,该对象一般被称为"Servlet ...

  4. 多线程-线程间通信-多生产者多消费者问题(JDK1.5后Lock,Condition解决办法及开发中代码范例)

    1 package multithread4; 2 3 import java.util.concurrent.locks.Condition; 4 import java.util.concurre ...

  5. java-异常-异常捕捉及多catch情况(try-catch)

    1 package p1.exception; 2 3 4 /* 5 * 异常处理的捕捉形式: 6 * 这是可以对异常进行针对性处理的方式. 7 * 8 * 具体格式是: 9 * try{ 10 * ...

  6. Qt中添加静态库.lb,.a和动态库.dll,.so,头文件和.cpp文件

    添加步骤 1.-Qt Creator中,"项目"------"添加库"2.把静态库和动态库文件放到项目文件夹中3.在.pro文件中会添加如下代码: - 添加动态 ...

  7. 权限修饰符和final关键字

    public 不受任何限制,可以被其他任何类访问 一个JAVA文件只能包含一个public文件 java将public类作为每个编译单元的数据接口  只能有一个接口 private 只能在自己类中访问 ...

  8. Zookeeper 源码解析-环境准备

    为了深入学习Zookeeper,准备把zookeeper源码导入eclipse中学习 一.Ant环境准备 因为我自己用的是Mac,直接输入命令:brew install ant即可 如果是window ...

  9. keystore文件

    [-] keystore操作 运行时签名文件路径debug 生成签名文件打包时使用 获取MD5和SH1 修改keystore文件密码 修改keystore文件别名 修改keystore文件别名的密码 ...

  10. JavaScript与java语法区别

    网页中各种技术的作用 感谢大佬:https://blog.csdn.net/RookiexiaoMu_a/article/details/89052768 HTML 制作网页的结构 CSS 美化网页 ...