和/或不保證返回布林值

當你使用 or 時,如果它是真的,它將返回表示式中的第一個值,否則它將盲目地返回第二個值。即 or 相當於:

def or_(a, b):
    if a:
        return a
    else:
        return b

對於 and,如果為 false 則返回第一個值,否則返回最後一個值:

def and_(a, b):
    if not a:
        return a
    else:
        return b