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实现在Linux系统下更改当前进程运行用户
Feb 04 Python
用python处理MS Word的实例讲解
May 08 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
python实现换位加密算法的示例
Oct 14 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
浅析python redis的连接及相关操作
Nov 07 Python
Python常用库大全及简要说明
Jan 17 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
pytorch 如何使用amp进行混合精度训练
May 24 Python
Python 如何实现文件自动去重
Jun 02 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
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
php查询操作实现投票功能
2016/05/09 PHP
js中if语句的几种优化代码写法
2011/03/12 Javascript
用js实现trim()的解决办法
2013/04/16 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
JavaScript多线程详解
2015/08/12 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python随机生成数模块random使用实例
2015/04/13 Python
python数据归一化及三种方法详解
2019/08/06 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
经理秘书岗位职责
2013/11/14 职场文书
实习生求职自荐信
2014/02/07 职场文书
产假请假条
2014/04/10 职场文书
八项规定对照检查材料
2014/08/31 职场文书
房产分割协议书范文
2014/11/21 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers