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

   日期:2020-11-04     浏览:204    评论:0    
核心提示:文章目录前言一、not、and、or的含义以及优先级二、not、and、or的使用方法1.not2.and1、找到并返回第一个False(假)2、找到并返回最后一个True(真)3.or1、找到并返回第一个True(真)2、找到并返回最后一个False(假)总结前言(小白专用)本次所分享的是Python中的not、and、or的执行时的优先级,以及他们的具体用法。本文比较详细,不喜勿喷。一、not、and、or的含义以及优先级对象返回结果优先顺序not xif x is.

文章目录

  • 前言
  • 一、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 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)并返回这个值。最后一个是()所以输出结果为 ()

总结

  1. 优先级是 not > and > or
  2. not如果x是假的,则“非假”为真,否则x是真的,则非真为假
  3. and: 找到并返回第一个False(假)或最后一个True(真)
  4. or: 找到并返回第一个True(真)或最后一个False(假)

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

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服