Python “and” operator with ints

前端 未结 3 1046
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-11 18:00

What is the explanation for this behavior in Python?

a = 10
b = 20
a and b # 20
b and a # 10

a and b evaluates to 20, while

3条回答
  •  轮回少年
    2021-01-11 18:19

    See the docs:

    x and y     if x is false, then x, else y
    

    non-zero integers are treated as boolean true, so you get exactly the behavior described in the docs:

    >>> a = 10
    >>> b = 20
    >>> a and b
    20
    >>> b and a
    10
    

提交回复
热议问题