python:iif或(x?a:b)

Alb*_*ert 17 python iif-function ternary-operator

可能重复:
Python三元运算符

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

print paid ? ("paid: " + str(paid) + " €") : "not paid"
Run Code Online (Sandbox Code Playgroud)

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

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

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

Jur*_*obl 15

尝试

 print ("paid: " + str(paid) + " €") if paid else "not paid"
Run Code Online (Sandbox Code Playgroud)