前言

(小白专用)本次所分享的是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 not用法_python中not、and和or的优先级与详细用法介绍相关推荐

  1. python中chr的用法_python中chr()函数和ord()函数的用法

    原博文 2018-06-11 21:52 − 一,chr()函数 格式:Chr(<数值表达式>) 说明:函数返回值类型为String,其数值表达式值取值范围为0~255. 例如:Print ...

  2. python中3 and not 5_python中not、and和or的优先级与详细用法介绍

    前言 (小白专用)本次所分享的是Python中的not.and.or的执行时的优先级,以及他们的具体用法.本文比较详细,不喜勿喷. 一.not.and.or的含义以及优先级 对象 返回结果 优先顺序 ...

  3. python的for语句用法_python中list循环语句用法实例

    本文实例讲述了python中list循环语句用法.分享给大家供大家参考.具体用法分析如下: Python 的强大特性之一就是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个 ...

  4. python中with as用法_python 中关于with...as的用法

    python中的with...as类似于try...except......finally...其用法是 with A() as b: suite block 其中A是一个类,该类中必须包含两个函数_ ...

  5. python中print的用法_Python中print函数简单使用总结

    Python中print函数简单使用总结 print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法. 打开电脑,选择python软件,下面选择pyth ...

  6. python常用函数的用法_python中常用函数整理

    1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...

  7. python解析原理_Python 中 -m 的典型用法、原理解析与发展演变

    在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...

  8. python方差函数_python 中的var()函数和cov函数用法-Go语言中文社区

    本文是学习多篇博客总结而得: numpy中var和cov函数求法和MATLAB中var和cov函数求法类似: 首先均值X,样本方差S,样本协方差C 公式分别为: 一.  MATLAB和Python中计 ...

  9. python中sorted用法_Python中sorted()方法的用法

    1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对iterable的解释是:iteralbe指的是能够一次返回它的一个成员的对象.iterable主要包括3类: 第一类是所有 ...

最新文章

  1. 0x000000ed怎么修复_win10蓝屏代码0x000000ed的修复方法
  2. jsf登录注册页面_您将在下一个项目中使用JSF吗?
  3. TCL with SNPS file existsfile rename/copy redirect lsearch split
  4. golang网络编程
  5. Qt开发MQTT(二) 之第三方QMQTT
  6. 关于splice()方法,slice() 、split()方法讲解,reverse()方法、replace()方法
  7. java运行时读取注解_Java自定义注解和运行时靠反射获取注解
  8. LSI_阵列卡操作手册
  9. 微信小程序下载文件,保存文件功能总结
  10. OpenGL--纹理贴图基础
  11. 计算机电子表格选取内容,如何快速选择Excel表格特定内容?
  12. 谷歌gmail注册入口_Gmail,日历和其他Google Apps即将出现的外观如下
  13. 最新360脱壳详细教程(有图有真相
  14. 大数据比手势锁靠谱?支付宝回应质疑
  15. 计算机毕业设计Android网约车拼车打车叫车系统APP
  16. 2022支付宝集五福 生肖卡添福红包活动攻略
  17. 绘制三维多面体 Matlab,已知一些随机的三维坐标点,怎么用matlab把这些点绘制成多面体,急求程序代码啊...
  18. ajax检测用户名重复无效,用ajax实现检测注册用户名是否重复的完整例子
  19. 财务年终总结怎么写?技巧在这里
  20. npm登录:忘记了用户名和密码,通过邮箱找回流程

热门文章

  1. java并发编程入门_Java并发编程入门,看这一篇就够了
  2. 腾讯云容器挂载configmap报错:read only fie system
  3. “人生苦短,我用Python“——python基础<3>
  4. Centos6.5系统安装教程
  5. LumaQQ及IP查询一(转)
  6. AMBA5 AHB协议规范(AHB5,AHB-Lite)中文版-第六章 数据总线
  7. 成功解决:Failed to resolve directive: mode
  8. 基于Android Fragment功能的例子
  9. 软件测试的目的是什么
  10. 【vue】1、vue介绍及vue基础指令