python中的三目运算

python中的三目运算和C语言有点不同。

C语言里

1
2
3
int a = 3;
int b = 4;
c = (a < b) ? a : b//取最小值

python中

1
2
3
4
5
6
a, b = 3, 4
#第一种方法:true if condition else false
c = a if a < b else b

#第二种方法:condition and ture or false
d = a < b and a or b

上面的第二种方法算是对逻辑运算符的熟练运用吧
在a、b都为真的情况下
当condition为真的时候,变成Ture and a or b ,也就是a,因为or语句当左边操作数为真时,就不再判断右边操作数。
当condition为假的时候,变成False and a or b ,也就是b,因为and语句当左边操作数为假时,不再判断右边操作数,直接为False。

------ 本文结束 ------
0%