python中not、and和or的优先级与详细用法介绍


Posted in Python onNovember 03, 2020

前言

(小白专用)本次所分享的是Python中的not、and、or的执行时的优先级,以及他们的具体用法。本文比较详细,不喜勿喷。

一、not、and、or的含义以及优先级

对象 返回结果 优先顺序
not x if x is false,then True,else False 1
x and y if x is false,then x,else y 2
x or y if x is false,then y,else x 3

含义:not是 “非” ;and是 “与” ;or是 “或” (可以用数学去理解)

1、not True = False 或者 not False = True (非真就是假,非假即真)

2、and是一假则假,两真为真,两假则假

3、or是一真即真,两假即假,两真则真

优先级是 not > and > or

代码如下(示例):

x=1 #将x赋值为1
y=0 #将y赋值为0
z=0 #将z赋值为0
print(x or y and not z)
'''
输出结果为
1
'''

小提示: 我们知道在编程语言中“非0即是True”,也就是“0为False,1为True”

  • 由于优先级是not>and>or,所以首先执行not z(也就是not 0),

即 not 0 = not False =True =1

下一步是轮到了and,那么 y and 1(已知y=0)即 0 and 1,也就是

False and True (假与真),我们刚刚谈过and,一假即假,故

y and 1 = 0 and 1 = False = 0

最后一步按优先级是轮到了or,即 x or 0(已知x=1),

即 1 or 0 =True or Flase =True = 1(or即“或”中,一真即真)

所以输出结果为 1

  • 总结: 代码运算过程为: (用数学符号表示优先级)

{ x or [ y and (not z) ] }

二、not、and、or的使用方法

1.not

if x is false,then True,else False

如果x为False则not x 为True,否则为False

(如果x是假的,则“非假”为真,否则x是真的,则非真为假)

在编程中是 布尔运算,即返回值是True 或者 False

代码如下(示例):

print(not 0,not 1,not True,not False)
'''
输出结果为:
True False False True
'''

2.and

and运算后的返回结果:

从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个值。

简单理解:

and的目的是找到并返回第一个False(假)或最后一个True(真) (从左往右找)(一假即假,两真即真)

代码如下(示例):

1、找到并返回第一个False(假)

print(1 and 2 and 0 and 4 and False)
'''
输出结果为:
0
'''

因为and是找到第一个False(假),我们知道在计算机中,

False即为0,所以输出结果是 0

2、找到并返回最后一个True(真)

print(1 and 2 and True and 4 and 6)
print(2 and 5 and True and 7 and True)
'''
输出结果为:
6
True
'''

因为 1,2,True,4,6 都不是0,我们知道 非零True,所以都是 真的,那么输出最后一个真值,所以输出结果为 6

因为 2,5,True,7,True 都不是0,都是真的,同理输出最后一个真值,所以输出结果为 True

3.or

or运算后的返回结果:

从左到右计算表达式,只要遇到真值就返回那个真值,如果表达式结束依旧没有遇到真值,就返回最后一个假值。

简单理解:

or的目的是找到并返回第一个True(真)或最后一个False(假) (从左往右找)(一真即真,两假即假)

代码如下(示例):

1、找到并返回第一个True(真)

print(0 or 0 or '' or 8 or 1 )
'''
输出结果为:
8
'''

小提示:

  • 在python中, [ ] 或者 ' ' 或者 ( ) 或者 None 都是空的意思,

    空也为假,即 空 = 假 = False

  • 由上面的代码可以看到,有两个真值分别是 8和1,但我们要找到作用范围内的第一个真值(True),即第一个为8,所
    以输出结果为 8

2、找到并返回最后一个False(假)

print([] or 0 or '' or None or () )
'''
输出结果为:
()
'''

小提示:

  • 在python中, [ ] 或者 ' ' 或者 ( ) 或者 None 都是空的意思,
    空也为假,即 空 = 假 = False
  • 此处可以知道,代码中都为假(False),所以要找到最后一个假(False)并返回这个值。最后一个是()所以输出结果为 ()

总结

  • 优先级是 not > and > or
  • not:如果x是假的,则“非假”为真,否则x是真的,则非真为假
  • and: 找到并返回第一个False(假)或最后一个True(真)
  • or: 找到并返回第一个True(真)或最后一个False(假)

到此这篇关于python中not、and和or的优先级与详细用法介绍的文章就介绍到这了,更多相关python中not、and和or优先级与用法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详解Python中的文件操作
Aug 28 Python
Python 基础之字符串string详解及实例
Apr 01 Python
python爬虫框架talonspider简单介绍
Jun 09 Python
浅谈python中的数字类型与处理工具
Aug 02 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
Jun 14 Python
python3.4控制用户输入与输出的方法
Oct 17 Python
python中partial()基础用法说明
Dec 30 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 Python
如何基于Python按行合并两个txt
Nov 03 #Python
Python txt文件如何转换成字典
Nov 03 #Python
Python headers请求头如何实现快速添加
Nov 03 #Python
python time()的实例用法
Nov 03 #Python
Python-openpyxl表格读取写入的案例详解
Nov 02 #Python
Python常用扩展插件使用教程解析
Nov 02 #Python
python实现三壶谜题的示例详解
Nov 02 #Python
You might like
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
Python之str操作方法(详解)
2017/06/19 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
大三在校生电子商务求职信
2013/10/29 职场文书
保护环境演讲稿
2014/05/10 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
三严三实对照检查材料
2014/08/25 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
2014年节能工作总结
2014/12/18 职场文书
公司表扬信格式
2015/05/04 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
Python中time与datetime模块使用方法详解
2022/03/31 Python
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python