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

发布时间:2020-11-04 15:21:31

来源:亿速云

阅读:87

今天就跟大家聊聊有关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>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)并返回这个值。最后一个是()所以输出结果为 ()

看完上述内容,你们对python中not、and、or的含义以及优先级有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

python中and not是什么意思_python中and、not、or的含义以及优先级相关推荐

  1. python之33个关键字详解_Python 中的关键字 with 详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  2. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  3. python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...

    摘要: 下文讲述Python中参数前面一个星号两个星号的功能分享,如下所示: 在Python语言中,我们经常看见参数前面 加上一个星号或两个星号 那么这些写法到底起什么作用呢? 下文将一一道来,如下所 ...

  4. python异常处理时所使用的保留字_Python中,下列哪个保留字不用于异常处理______________。_学小易找答案...

    [单选题]维持细胞生存所必需的最基本的基因是 ( ) [单选题]从体细胞克隆高等哺乳动物的成功说明了 ( ) [单选题]细胞决定与细胞分化的关系是 ( ) [多选题]一种类型的分化细胞转变成另-种类型 ...

  5. python中的列表是指针吗_Python中的指针——到底指什么(二)

    在 Python中的指针--到底指什么(一) 中,我们知道在Python的一切都是对象,变量其实是指向PyObject对象的名称,对不可变变量进行操作后,名称指向了另一个PyObject. 扣留对象 ...

  6. python中遍历字典判断是否存在_python中如何判断值在不在字典中

    python中判断值在不在字典中的方法:我们可以通过for循环来进行判断.在python中for循环可以遍历任何序列的项目.语法结构:[for iterating_var in sequence:st ...

  7. python里删除range里的数字_python中range函数与列表中删除元素

    一.range函数使用 range(1,5)   代表从1到4(不包含5),结果为:1,2,3,4   ,默认步长为1 range(1,5,2)   结果为:1, 3  (同样不包含5) ,步长为2 ...

  8. python语言中print函数的作用_python中如何使用print函数

    Python中print语句 1.逗号分隔符 在Python中print语句可根据sys.stdout中包含的文件生成输出,它接受一个逗号分隔的对象表,如下实例:x = 1 y = 2 z = 3 p ...

  9. python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝

    曾经看到这样一个问题,一个字典中的元素是列表,将这个列表元素赋值给一个变量,然后修改这个列表中元素的值,结果发现,字典中那个列表也同样修改了.那个问题如下: dict = {'a':[1,2,3,4, ...

  10. python中sys模块是什么内容_python中sys模块是做什么用的

    python中的sys是提供了一系列有关python运行环境的变量和函数的模块,如sys.argv函数实现从程序外部向程序传递参数:sys.platform函数用于获取当前系统平台. sys模块提供了 ...

最新文章

  1. 《Visual Studio Hacks 》(十)
  2. python【Matlibplot绘图库】画多个曲线的折线图(Matplotlib.pyplot.plot)
  3. / /* /**的区别
  4. oracletns中不存在名称为_oracle tnsname.ora中的SERVICE_NAME 代表实例的名称还是代表全局数据库的名称?...
  5. Geodatabase中基于规则的拓扑关系管理机制
  6. 《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存...
  7. python中parse.add_argument()简单用法
  8. js splice方法_我用JS刷LeetCode | Day 8
  9. C#中跨线程操作控件
  10. K8S学习笔记之MiniKube的搭建(VM虚拟机环境)
  11. 随机森林——股票涨跌预测模型搭建
  12. Android 手机开机密码破解锁定
  13. PHP快速输出26大小写字母
  14. 中国电信无线网服务器,中国电信网上营业厅
  15. 计算机学院王春枝教授实验室,全国高等学校计算机科学与技术教学成果获奖证书.doc...
  16. 关于U盘中毒,文件全变成快捷方式
  17. web前端常见面试题总结
  18. CreateProcess的用法
  19. 购物表单mysql还是mongodb_日志数据是选择mysql 还是 mongodb 还是 postgredb
  20. Windows文件服务器文件审计,文件监控软件,File_System_Auditor2.53安装教程

热门文章

  1. 医嘱计算机录入管理制度,医院病房医嘱计算机录入管理制度.doc
  2. 应用训练MNIST的CNN模型识别手写数字图片完整实例(图片来自网上)
  3. 腾讯叶聪:朋友圈爆款背后的计算机视觉技术与应用
  4. aircrack_hashcat非字典高速破解目标无线密码
  5. 生物计算机是未来型计算机吗,未来的新型计算机就是指生物计算机、量子计算机和光计算机。...
  6. 【媒体报道】Fengqi.Asia雲端能避免港姐公投崩潰
  7. Antd多文件上传后台接收为null问题
  8. Java结果集以关闭_显示结果集已关闭,正确顺序是什么
  9. 记kali系统中下载百度网盘中文件的方法(一) BND
  10. Guacamole 远程桌面