前言

在java中,有类似于 (condition) ? a :b 这样的语法,表示如果condition 为真,返回a,反之返回b。我们称之为三元运算。

那Python中,有没有这样的语法呢,非常遗憾的是,没有!

Python 中的三元运算

But,在Python 中,虽然没有这样的语法表达式,但 借助于if -- else可以实现类似于三元运算的效果。示例如下:
如 a,b两个数,如果 a>b 返回 ‘more’,否则,返回’less’ 我们在Python中可以这样表示

if a > b:
    return 'more'

else:
    return 'less'

上面的代码都只是一般常规做法,其实 if--else还可以这样使用,如下示例:

>>> a,b = 1,2
>>> c = 'more' if a>b else 'less'
>>> print(c)
less

上面的示例只用了额c = 'more' if a>b else 'less' 就实现了常规做法中的四行代码的功能。

另外,python中还有另一种方法可以实现三元运算的效果,如下所示:

>>> c = {True:'more',False:'less'}[a>b]
>>> c
'less'

更多交流关注公众号:猿桌派

 

版权声明:本文为techfix原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/techfix/p/12305665.html