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中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
详谈python read readline readlines的区别
Sep 22 Python
python 实现登录网页的操作方法
May 11 Python
Python开发网站目录扫描器的实现
Feb 21 Python
python多线程同步实例教程
Aug 11 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
django-利用session机制实现唯一登录的例子
Mar 16 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 Python
Python3实现飞机大战游戏
Apr 24 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
python 爬取免费简历模板网站的示例
Sep 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
15种PHP Encoder的比较
2007/04/17 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
python3实现暴力穷举博客园密码
2016/06/19 Python
Python端口扫描简单程序
2016/11/10 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
保时捷设计:Porsche Design
2019/03/30 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
OSPF有什么优点?为什么OSPF比RIP收敛快?
2013/02/13 面试题
导游的职业规划书范文
2013/12/27 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
电焊工岗位职责
2014/03/06 职场文书
合同协议书格式
2014/04/18 职场文书
员工安全责任书范本
2014/07/24 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
社团招新宣传语
2015/07/13 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python