据我所知,Python 有两个Ternary Operators
:
a if 测试 else b
测试和 a 或 b
似乎它们达到了相同的目标,并且都可以在 lambda 函数中使用。
>>> (lambda x: True if x > 0 else False)(5)
True
>>> (lambda x: True if x > 0 else False)(-5)
False
>>> (lambda x: x > 0 and True or False)(5)
True
>>> (lambda x: x > 0 and True or False)(-5)
False
问题
在任何情况下我们应该使用其中一种来代替另一种吗?