Python:iif 或 (x?a:b)。

19

可能是重复问题:
Python三元操作符

如果Python支持来自C/C++的(x ? a : b)语法,我会这样写:

print paid ? ("paid: " + str(paid) + " €") : "not paid"

我真的不想在这里进行if检查和两个独立的打印(因为这只是上面的一个例子,在我的代码中,它看起来要复杂得多,并且几乎相同的代码会显得非常愚蠢)。

然而,Python不支持这个运算符或任何类似的运算符(据我所知)。最简单/最干净/最常见的方法是什么?

我搜索了一下,看到有人定义了一个iif(cond,iftrue,iffalse)函数,灵感来自Visual Basic。我想知道我是否真的需要添加那段代码,以及标准库中为什么没有这样的基本函数。


2
重复,请参见https://dev59.com/IXRC5IYBdhLWcg3wJNqf#394814 - Vinko Vrsalovic
1个回答

23

试一试

 print ("paid: " + str(paid) + " €") if paid else "not paid"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接