Python表达式的优先级详解

表达式的优先级

表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列

代码段

a = 1
b = 2
c = 3
print("表达式计算结果是:",a or b and c)

结果输出

表达式计算结果是: 1

会优先计算 and,取值3,后面计算or,最后结果为1


运算符

描述

**

指数 (最高优先级)

~ + -

按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

* / % //

乘,除,取模和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

位 'AND'

^ |

位运算符

<= < > >=

比较运算符

<> == !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not and or

逻辑运算符

实例

a = 1
b = 2
c = 2
print(not a or b+2 == c) # 执行优先级 (not a) or ((b+2)== c)
print(b+2 == c)
print( not a)

输出结果

False
False
False

逻辑运算符优先级 not>and>or

以上就是本次介绍的全部相关知识点,感谢大家的学习和对我们的支持。

(0)

相关推荐

  • python爬虫 正则表达式解析

    这篇文章主要介绍了python爬虫 正则表达式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 - re.I # 忽略大小写 - re.M # 多行匹配,将正则作用到源数据的每一行 - re.S # 单行匹配,将正则作用到整个源数据,输出一个整体字符串(包括换行符也打印) string = '''fall in love with you i love you very much i love she i love her''' # 去除以i

  • python列表推导和生成器表达式知识点总结

    首先来看一下代码: chars = "abcd" tmp = [] for char in chars: tmp.append(ord(char)) print(tmp) 这是一般的写法,将字符串中的每一个字符转换称ASCII码,然后存进一个tmp数组. 利用列表推导的方式: tmp = [ord(char) for char in chars] 输出:[97,98,99,100] 列表推导中也可以使用if和else. 当只有一个if时: chars = "abcd"

  • python二元表达式用法

    二元表达式: wide=1 new_w = 299 if not wide else 28 print(new_w) new_w = 299 if wide>0 else 28 print(new_w) a,b=1,2 max = a if a > b else b 三元表达式 wide=0 new_w = 299 if wide>0 else 'sdf' if wide==0 else 28 print(new_w) 三目运算符: 这个是三目运算符(伪,因为Python根本就没有三目)

  • Python表达式的优先级详解

    表达式的优先级 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 代码段 a = 1 b = 2 c = 3 print("表达式计算结果是:",a or b and c) 结果输出 表达式计算结果是: 1 会优先计算 and,取值3,后面计算or,最后结果为1 运算符 描述 ** 指数 (最高优先级) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法减法

  • python if三元表达式实例用法详解

    1.说明 使用一行代码快速判断,更换复杂的多行if语句,使代码能够简单地维护. if三元表达式的阅读方式有点不符合阅读习惯.从句子中间的if条件开始读,条件满足的话,得到左侧的值x,条件不满足的话,得到else下面的值x. 2.实例 result = x if x > 0 else -x >>> x = -15 >>> x if x > 0 else -x 15 知识点扩展: public class java { public static void ma

  • Python实现调度算法代码详解

    调度算法 操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源.这就是调度.目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源. 在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法.对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法:又如在分时系统中,为了保证系统具有合理

  • Java栈的运用之中缀表达式求值详解

    目录 栈运用题:中缀表达式求值 题目详情 解题思路 实现代码 栈运用题:中缀表达式求值 题目详情 给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值. 注意: 数据保证给定的表达式合法. 题目保证符号 - 只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2) 之类表达式均不会出现. 题目保证表达式中所有数字均为正整数. 题目保证表达式在中间计算过程以及结果中,均不超过 231−1. 题目中的整除是指向 0 取整

  • python学习 流程控制语句详解

    ###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flase)判断程序的运行方向 # Ture:表示非空的量(String,tuple元组 .list.set.dictonary),所有非零的数字 # False:0,None .空的量 #逻辑表达式 可以包含 逻辑运算符 and or not if: ##################################

  • Python字符串处理实例详解

    Python字符串处理实例详解 一.拆分含有多种分隔符的字符串 1.如何拆分含有多种分隔符的字符串 问题: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如: s = "ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz" 其中;,|,\t 都是分隔符号,如何处理? 方法一: 连续使用str.split()方法,每次处理一种分隔符号 s = "ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz&q

  • Spring 整合Shiro 并扩展使用EL表达式的实例详解

    Shiro是一个轻量级的权限控制框架,应用非常广泛.本文的重点是介绍Spring整合Shiro,并通过扩展使用Spring的EL表达式,使@RequiresRoles等支持动态的参数.对Shiro的介绍则不在本文的讨论范围之内,读者如果有对shiro不是很了解的,可以通过其官方网站了解相应的信息.infoq上也有一篇文章对shiro介绍比较全面的,也是官方推荐的,其地址是https://www.infoq.com/articles/apache-shiro. Shiro整合Spring 首先需要

  • 基于python log取对数详解

    log()方法返回x的自然对数,对于x>0. 语法 以下是log()方法的语法: import math math.log( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数. 参数 x – 这是一个数值表达式. 返回值 此方法返回x的自然对数,对于x>0. 另外,可以通过log(x[, base])来设置底数,如 log(x, 10) 表示以10为底的对数. 以上这篇基于python log取对数详解就是小编分享给大家的全部内容了

  • Python连接字符串过程详解

    这篇文章主要介绍了python连接字符串过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在python中,如果有多个字符串,想要连接在一起,或者说想要拼接在一起该如何操作,在此记录下. 1.通过 + 这个加号操作符,将字符串拼接在一起 >>> "First" + "Python" + "Lesson" 'FirstPythonLesson' >>> &

  • python 错误处理 assert详解

    assert是断言的意思,解释为:我断定这个程序执行之后或者之前会有这样的结果,如果不是,那就扔出一个错误. 语法: assert expression [, arguments] assert 表达式 [, 参数] 举例: def foo(s): n = int(s) assert n != 0, 'n is zero!' return 10 / n def main(): foo('0') >Traceback (most recent call last): ... AssertionEr

随机推荐