weixin_慕前端4242958
2020-10-08 16:42
a = True print(a and 0 or 99) # ==> 99
Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:
True and 0
计算结果是0 (为什么此处结果不是false,而是0)
继续计算0 or 99
计算结果是 99 (为什么此处结果不是true,而是99)
因此,结果是99。
短路计算。真 and 假 总是输出假,所以True and 0输出0,你也说了False和0等价,所以输出0和输出False等价。
假 or 真 总是输出真,是指输出真的那个语句,如果先赋值a = False, 0 or a 则输出False即a 的值
Python3 入门教程(新版)
154172 学习 · 1075 问题
相似问题