Python中的三目(元)运算符
官方说明
https://docs.python.org/zh-cn/3/faq/programming.html#is-there-an-equivalent-of-c-s-ternary-operator
是否提供等价于 C 语言 "?:" 三目运算符的东西?有的。
语法形式如下:
[on_true] if [expression] else [on_false]
若条件表达式expression的值,若为True,返回on_true;若为False,则执行并返回on_false。
执行流程:
例如:
a=5
b=3
st = "a>b" if a>b else "a<b"
print(st)#输出"a>b"
又如:
x = 2
y = x+1 if x%2==0 else x
print(y) #输出3
进一步了解,可参见
https://blog.51cto.com/u_15278282/4896624
https://blog.51cto.com/u_14246112/5667357?articleABtest=1
C/C++三目(元)运算符
语法形式是:
条件表达式1 ? 表达式2 : 表达式3;
执行流程:
例如:
x=3>2 ? 3*3: 2*2 ;
执行后,x=9
请注意,Python中的三目(元)运算符和C/C++三目(元)运算符,语法形式的不同。