• Python3,逻辑运算符


    优先级

    ()>not>and>or

    1.or

      在python中,逻辑运算符or,x or y, 如果x为True则返回x,如果x为False返回y值。因为如果x为True那么or运算就不需要在运算了,因为一个为真则为真,所以返回x的值。如果x的值为假,那么or运算的结果取决于y,所以返回y的值。2

    1 print(1 or 2)   # 1
    2 print(3 or 2)   # 3
    3 print(0 or 2)   # 2
    4 print(0 or 100) # 100
    5 print(0 or 0)    #0

    2.and

      在python中,逻辑运算符and,x and y,如果x为True则返回y值。如果x为False则返回y值。如果x的值为True,and的运算不会结束,会继续看y的值,所以此时真与假取决于y的值,所以x如果为真,则返回y的值。如果x为假,那么and运算就会结束运算过程了,因为有一个为假则and为假,所以返回x的值。

    1 print(1 and 2)  # 2
    2 print(3 and 0)  # 0
    3 print(0 and 2)  # 0
    4 print(3 and 2)  # 2
    5 print(0 and 0)  # 0

    3.混合解析

      按照从左向由,优先级高的先执行优先级高的规则,首先因为比较运算符优先级高于逻辑运算符,很简单,如果运算符低于了逻辑运算符优先级那还如何运算呢。and 优先级大于 or,not优先级大于and和or。

    print(1 > 2 and 3 or 4 and 3 < 2 or not 4 > 5)   

     

      not 4 > 5 为True

           1 > 2 为 False

      3 <  2 为 False

      Flase and 3,因为False为假所以and不在运算直接返回False

      4 and False,因为4为真所以and运算符会继续运算后面的,以False为值,所以返回False。

           False or False,为False

      False or True,为True

      False or False,因为False为假,所以or运算符会继续运算后面的,以False为值,所以返回后面的False值

  • 相关阅读:
    Redis高可用配置(Keepalived)
    Redis断线重连编码注意事项
    Redis持久化配置
    真正实现Netty私有协议开发
    winform 程序隐藏窗口运行
    VirtualBox设置共享文件夹和镜像访问的方法
    SSIS父子维度
    SSIS 抽取excel出错:所请求的 OLE DB 访问接口 Microsoft.ACE.OLEDB.12.0 尚未注册
    .net C#实现 中文转Unicode、Unicode转中文 及与js对应关系
    HttpHelper使用记录
  • 原文地址:https://www.cnblogs.com/BigFatStar/p/11335968.html
Copyright © 2020-2023  润新知