Python 里 and,or 的计算规则是怎样的
1个回答
展开全部
要弄明白你以上那个问题,首先你得明白几个概念。
第一,Python定义的Flase value有哪些。
None
False
zero of any numeric type, for example, 0, 0L, 0.0, 0j.
any empty sequence, for example, '', (), []. #对应第一问,空字符是False
any empty mapping, for example, {}.
instances of user-defined classes, if the class defines a __nonzero__() or __len__() method, when that method returns the integer zero or bool value False. #自己的class实现了__nonzero__ 或者 __len__()也能trick一下
然后,你要明白 and or 操作符发生了什么。
再回去看你的题目,就不难理解了吧。
然后出现 '' or 5 or 0 and 4 这种表达式在实际生产代码中,请买好保险,你的同事随时会打死你。
你应该 学会用 括号来更清楚表达逻辑。毕竟代码的可读性 > 炫技*10000000
第一,Python定义的Flase value有哪些。
None
False
zero of any numeric type, for example, 0, 0L, 0.0, 0j.
any empty sequence, for example, '', (), []. #对应第一问,空字符是False
any empty mapping, for example, {}.
instances of user-defined classes, if the class defines a __nonzero__() or __len__() method, when that method returns the integer zero or bool value False. #自己的class实现了__nonzero__ 或者 __len__()也能trick一下
然后,你要明白 and or 操作符发生了什么。
再回去看你的题目,就不难理解了吧。
然后出现 '' or 5 or 0 and 4 这种表达式在实际生产代码中,请买好保险,你的同事随时会打死你。
你应该 学会用 括号来更清楚表达逻辑。毕竟代码的可读性 > 炫技*10000000
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询