前言
- and和or一般用于判断语句,但是也有其它用法。
- 有时候你会看到,或者经常使用到这样的用法:
return value or xx
或者a = value or xx
- 但是下面的用法你遇到过几次?
正文
- code
In [4]: 'a'and'b'or'c'
Out[4]: 'b'
In [5]: ''and'b'or'c'
Out[5]: 'c'
In [6]: 'a'and'b'
Out[6]: 'b'
In [7]: ''and'b'
Out[7]: ''
In [8]: 'a'and'b'or''
Out[8]: 'b'
补充
- 原理:or返回true的,and返回false的,如果没有false就返回and的最后一个,and的优先级大于or
- 可能你觉得,这样使用是毫无意义的,但是如果有一天你遇到这样的需求,你就会明白:你会省去很多if判断。