• PythonStudy——逻辑运算符 Logical Operators


    在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了  __ nonzero __ () 或 __ len __ () 方法且方法返回 0 或False,则其实例也被当作False,其他对象均为True。

    # 逻辑运算符运行结果:不一定是bool类型


    1. and
    # 左右都成立才成立,有不成立的就不成立

    res = 10 > 5 and 10 > 20
    print(res)
    
    Output: False
    res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)
    print(res)

     2. or

    # 左右都不成立才不成立,有成立的就成立
    res = 10 < 5 or 10 > 20
    print(res)

    Output:
    False
    res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)
    print(res)

    3. not

    #成立则不成立,不成立则成立

    print(not 10)
    print(not 0)

    Output:
    False
    True

    4. 包含两个及以上的逻辑运算符

      逻辑运算符 and / or 一旦不止一个,其运算规则的核心思想就是短路逻辑,我们就来了解一下短路思想:

      1 表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。

      2 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。

      3 若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。

    # # 了解:and 优先级高于 or

    res = 5 and 0 or 20 and 30  # 
    print(res)

    Output:
    30
  • 相关阅读:
    软件架构师如何工作(即架构漫谈读后感)
    寒假学习记录22
    寒假学习记录21
    寒假学习记录20
    实验四 LL(1)语法分析
    大学生熬夜情况调查结果分析
    大学生熬夜情况调查计划
    实验三 递归下降分析分析法
    实验一 根据状态转换图手工构造词法扫描器
    《软件需求工程》阅读笔记06
  • 原文地址:https://www.cnblogs.com/tingguoguoyo/p/10713245.html
Copyright © 2020-2023  润新知