热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python中not、and、or的优先级与详细用法

原标题:python中not、and、or的优先级与详细用法文章目录前言

原标题:python中not、and、or的优先级与详细用法


文章目录



  • 前言

  • 一、not、and、or的含义以及优先级

  • 二、not、and、or的使用方法


    • 1.not

    • 2.and


      • 1、找到并返回第一个False(假)

      • 2、找到并返回最后一个True(真)


    • 3.or


      • 1、找到并返回第一个True(真)

      • 2、找到并返回最后一个False(假)



  • 总结






前言

(小白专用)本次所分享的是Python中的not、and、or的执行时的优先级,以及他们的具体用法。本文比较详细,不喜勿喷。




一、not、and、or的含义以及优先级























对象返回结果优先顺序
not xif x is false,then True,else False1
x and yif x is false,then x,else y2
x or yif x is false,then y,else x3



  • 含义: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>www.yii666.comor,所以首先执行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,nowww.yii666.comt False)
'''
输出结果为:
True False False True
'''



2.and




  • and运算后的返回结果:
    从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个值。


  • 简单理解:
    and的目的是找到并返回第一个False(假)或最后一个True(真) (从左往右找)(一假即假,两真即真)

代码如下(示例):


1、找到并返回第一个False(假)

print文章来源地址34192.html(1 and 2 and 0 and 4 and False)
'''
输出结果为:
0
'''


  • 因为and是找到第文章来源站点https://www.yii666.com/一个False(假),我们知道在计算机中,
    False即为0,所以输出结果是 0


2、找到并返回最后一个True(真)

print(1 and 2 文章来源地址34192.htmland 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)并返回这个值。最后一个是()所以输出结果为 ()






总结

  1. 优先级是 not > and > or


  2. not如果x是假的,则“非假”为真,否则x是真的,则非真为假


  3. and: 找到并返回第一个False(假)或最后一个True(真)


  4. or: 找到并返回第一个True(真)或最后一个False(假)

如果您还是不懂 或者 想更深入的了解,请点击此链接: 请点击我.

来源于:python中not、and、or的优先级与详细用法


推荐阅读
  • 原标题:Python中numpy.power()函数介绍Python中numpy.power()函数介绍power(x,y)函数, ... [详细]
  • 直击热门考点——结构体内存对齐
    原标题:直击热门考点——结构体内存对齐文章目录前言一、引例 ... [详细]
  • 20210921c++ 继承,虚继承(内存结构)
    原标题:2021-09-21c++继承,虚继承(内存结构)普通的公有继承 ... [详细]
  • node.js 全局变量说明
    原标题:node.js全局变量说明文章目录全局对象 ... [详细]
  • 原标题:(C语言实现)页面置换——先进先出算法(FIFO)一、设计目的:加深对请求页式存储管理实现原理的理解,掌握页面置换算法中的 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了
    原标题:智商狂飙,问了ChatGPT几个数据库问题后,我的眼镜掉了最近,ChatGPT火爆全网,介绍其产品、公司、作者、技术和应用等方面信息,占据着整个互联网,似乎不谈GPT好像 ... [详细]
  • JavaScript实现拖动对话框效果
    原标题:JavaScript实现拖动对话框效果代码实现:<!DOCTYPEhtml><htmllan ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • MySQL 的 NULL 值是怎么存储的?
    MySQL 的 NULL 值是怎么存储的? ... [详细]
author-avatar
手机用户2502881927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有