Python中的三目(元)运算符

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。

执行流程:

Python中的三目(元)运算符_第1张图片

例如:

a=5

b=3

st = "a>b" if a>b else "a

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;

执行流程:

Python中的三目(元)运算符_第2张图片

 例如:

x=3>2 ? 3*3: 2*2 ;

执行后,x=9

请注意,Python中的三目(元)运算符和C/C++三目(元)运算符,语法形式的不同。

你可能感兴趣的:(Python学习,python)