Posted in Python onNovember 27, 2013
python中的and和or和其它语言的区别很大
其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。
那个值决定了这个表达式的值,就返回那个值。
>> 5 and ''
这里结果是'', 空字符串, 因为是它导致了这个表达式为false.
也就是所在and中,只有前面一个值是false的时候,才有可能成为结果。否则就是后面的值为结果。
了解了and和or运行的过程,那么就可以实现?表达式了:
if (expression): return truevalue else: return falsevalue
和这个等价的写法是(类似?号表达式):
expression and truevalue or falsevalue #或者 (expression and (truevalue,) or (falsevalue,))[0] #感谢snake117提供的建议 #这种是避免truevalue有可能是false的情况,比如空字符串
python实现问号表达式(?)的方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@