18

可能重复:
Python 三元运算符

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

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

我真的不想在这里有一个 if-check 和两个独立的打印(因为这只是上面的一个例子,在我的代码中,它看起来要复杂得多,两次拥有几乎相同的代码真的很愚蠢)。

但是,Python 不支持此运算符或任何类似的运算符 (afaik)。最简单/最干净/最常见的方法是什么?

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

4

1 回答 1

19

尝试

 print ("paid: " + str(paid) + " €") if paid else "not paid"
于 2010-06-15T13:42:35.207 回答