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实现的最近最少使用算法
Jul 10 Python
python字符串的常用操作方法小结
May 21 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
django session完成状态保持的方法
Nov 27 Python
对python中的argv和argc使用详解
Dec 15 Python
python爬虫中多线程的使用详解
Sep 23 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
Python实现查找数据库最接近的数据
Jun 08 Python
python 8种必备的gui库
Aug 27 Python
Python extract及contains方法代码实例
Sep 11 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
javascript:void(0)的问题使用探讨
2014/04/10 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
在Python中调用ggplot的三种方法
2015/04/08 Python
python抓取最新博客内容并生成Rss
2015/05/17 Python
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
实践Vim配置python开发环境
2018/07/02 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
使用python实现名片管理系统
2020/06/18 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
大学毕业生通用求职信
2013/09/28 职场文书
四年大学生活的自我评价范文
2014/02/07 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python