今天看了一个源代码,甚是对python不解,于是查了下资料,只是纠正下网上的老兄的解释
python 中的and从右到左计算表达式。若全部值均为真,则返回最后一个值。若存在假,返回第一个假值。
or是从左到右计算表达式。返回第一个为真的值。
IDLE 1.2.4 >>>‘a‘and‘b‘# 等价于if( ‘b‘ ) return ‘b‘ return ‘a‘ 从右向左 ‘b‘ >>>‘‘and‘b‘#... ‘‘ >>>‘a‘or‘b‘#等价于if( ‘a‘ )return ‘a‘ return ‘b‘ 从左向右 ‘a‘ >>>‘‘or‘b‘ ‘b‘
类似三目表达式的使用方法:bool? a : b >>> a =‘first‘ >>> b =‘second‘ >>>1and a or b # 等价于 if( ‘a‘ )return ‘a‘ return ‘b‘ 的情况 从左向右 ‘first‘ >>>0and a or b # 等价于 a and b 的情况 if( ‘b‘ ) return ‘b‘ return ‘a‘ 从右向左 ‘second‘ >>> a =‘‘ >>>1and a or b # a为假时。则出现故障 ‘second‘ >>>(1and[a]or[b])[0]# 安全使用方法,由于[a]不可能为假,至少有一个元素 ‘‘ >>>
时间: 2024-10-05 11:45:37