美文网首页
Python中的逻辑运算符and or not

Python中的逻辑运算符and or not

作者: 上帝大人 | 来源:发表于2019-10-04 10:21 被阅读0次

    先看最简单的not

    not x

    它的结果只有两种
    如果x为不是False'',结果就为True,否则结果是False

    再看and

    x and y

    他的结果有两种,不是x的值,就是y的值
    如果x为False,就返回x的值,如果x为True,则返回y的值,它返回的是关系式的值,而不是对应的布尔值

    print(False and True)
    print(0 and 4) 
    print(4 and 0)
    
    >>> False
    >>> 0
    >>> 0
    

    再看结果是否符合预期,在带有and的if判断中,只要有一个关系式为False就是Fasle,而and的作用就是找可能为False的关系式,所以它的逻辑是:如果第一个是False就返回第一个的值,否则返回第二个的值,在进行if判断的时候,再对and的结果进行判断是否为False

    在看or

    x or y

    他的结果有两种,不是x的值,就是y的值
    如果x为True,就返回x的值,如果x不为True,则返回y的值,它返回的是关系式的值,而不是对应的布尔值

    print(False or True)
    print(0 or 4) 
    print(4 or 0)
    print('' or 0 )
    
    >>> True
    >>> 4
    >>> 4
    >>> 0
    

    结果也是符合预期,or 尝试找到布尔值为True的关系式,,如果第一个为True,那就返回它,否则,返回第二个,在带有or的if的判断中,例如

    if '' or 0:
        print('lalaal')
    

    他会先进行or运算,第一个的布尔值为False,所以返回第二个的值0,if 0 时,0的布尔值为False,所以下面的不会被输出。

    相关文章

      网友评论

          本文标题:Python中的逻辑运算符and or not

          本文链接:https://www.haomeiwen.com/subject/ykgjpctx.html