• python--短路运算,把0、空字符串和None看成 False,其他数值和非空字符串都看成 True


    代码
    print(3 and 4 and 5) # 5
    print(5 and 6 or 7) # 6
    4 > 3 and print(‘hello world’) # 输出hello world
    在这里插入图片描述
    注释:
    逻辑运算中,不一定逻辑运算符的两边都是纯表达式。也可以是数值类型的数据

    Python把0、空字符串和None看成 False
    其他数值和非空字符串都看成 True
    ,所以:

    ① 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b

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

    人话:
    吃一个苹果,分两半 a b , a是坏的 False,有虫子,那 整个就是坏的 False。不用再看b了,反正不会吃了。出来的结果:就是a。
    如果 a 是好的,那就看看b是不是好的,也得看完之后再吃不是? 因为只剩下另一半b,b是好的或者坏的,最终以b为准,就等b的结果:就是b。
    其实和人的逻辑是一样的。

    ② 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。 所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。

    print(6 or 7) # 6
    print(6 and 7 or 8) # 7

    人话:
    买1个苹果, 就有 a 和 b 两个苹果了 ,我可以选个,任何一个都可以, a是好的,那我就可以买了a苹果,b苹果好坏都行,反正有一个是好的,够吃了-------那我不贪心,就买 a 了。如果 a 是坏的,那我可以多个选择,看看b ,最终我买不买苹果,取决于b ,b 是好的,就要b, b如果也是坏的,那我 a b 两个都不要了,就可以判定:这个水果店,是坏的False,因为是最后通过b的好坏判定的,所以返回b,让别人知道为什么我判定这个水果店是坏的False。

  • 相关阅读:
    Qt学习总结之QDateTimeEdit
    vue-router的编程式导航有哪些方法?
    【MCU】栈溢出问题
    .Net Core(.Net6)创建grpc
    LiveMedia视频中间件视频隐私打码直播解决方案
    使用HTML实现一个静态页面(含源码)
    换服还是掀桌?哪条才是程序员的出路?
    大数据知识面试题-Sqoop(2022版)
    机器学习初步-笔记
    7.24 - 每日一题 - 408
  • 原文地址:https://blog.csdn.net/qq_42755734/article/details/133872794