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. IoC容器(底层原理)

    IoC(概念和原理) 1,什么是IoC (1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 (2)使用IoC目的:为了降低耦合度 (3)做入门案例就是IoC实现 2,IoC底层原 ...

  2. java-异常-异常应用

    1 package p1.exception; 2 3 4 /* 5 * 老师用电脑上课. 6 * 7 * 问题领域中涉及两个对象. 8 * 老师,电脑. 9 * 10 * 分析其中的问题. 11 * ...

  3. Linux创建运行C/C++代码

    不同于在Windows操作系统下借助IDE运行C++程序,Linux操作系统可以使用g++编译 创建文件及编译文件的流程  1. 先进入某一文件目录下,创建一个文件(也可以用mkdir创建文件) to ...

  4. vscode自定义代码片段,自定义注释片段(动态时间)

    下载vscode 一.打开vscode,点击左下角设置图标. 二.点击用户代码片段 三.点击新建全局代码片段文件 四.输入自定义代码片段配置文件名,例如:vue.json 五.进行代码片段配置示例如下 ...

  5. 将项目上传至GitHub

    前言: 前段时间我将自己做的2040小游戏从本地上传至了GitHub上,本篇将记录上传过程与方法 我的2048小游戏GitHub仓库链接226YZY/my2048game: 我的简易2048小游戏 ( ...

  6. 求Fibonacci数列通项公式

    0. Intro \[f_n=\begin{cases} 0 & (n=0) \\ 1 & (n=1) \\ f_{n-1}+f_{n-2} & (n>1) \end{c ...

  7. Net6 DI源码分析Part1 ServiceCollection、ServiceDescriptor、ServiceLifetime、IServiceProvider

    ServiceCollection.ServiceDescriptor.ServiceLifetime.IServiceProvider Microsoft.Extensions.Dependency ...

  8. 根据指定手绘图纸照片行政区划自定义绘制对应区域边界生成geoJOSN的解决方案

    项目需求 指定某区域(非省市区县乡镇标准行政区划),做功能边界分区,实现Echarts地理坐标数据可视化展示. 提供信息 项目分析 要在Echarts上实现地理坐标可视化,必须使用geoJSON格式文 ...

  9. 设置鼠标光标与页面favicon

    鼠标光标 body{cursor: url('http://image.XXXX.com/ii.png'),default;} 2. favicon <link rel="shortc ...

  10. NSMutableDictionary基本概念

    1.NSMutableDictionary 基本概念 什么是NSMutableDictionary NSMutableDictionary是NSDictionary的子类 NSDictionary是不 ...