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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
详谈python read readline readlines的区别
Sep 22 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
python TKinter获取文本框内容的方法
Oct 11 Python
学生信息管理系统python版
Oct 17 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
pytorch中的inference使用实例
Feb 20 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
七个Python必备的GUI库
Apr 27 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
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
vue生成token保存在客户端localStorage中的方法
2017/10/25 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
Python中bisect的用法
2014/09/23 Python
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Python tkinter常用操作代码实例
2020/01/03 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
python3判断IP地址的方法
2021/03/04 Python
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
大学本科毕业生的自我鉴定
2013/11/26 职场文书
销售人员获奖感言
2014/02/05 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
销售业务员岗位职责
2015/02/13 职场文书
小学中队委竞选稿
2015/11/20 职场文书