如果在Python中为None,是否有返回默认值的简写?

在c#中,我可以说x ?? "",如果x不为空,它会给我x,如果x为空,它会给我空字符串。我发现它在处理数据库时很有用。

如果Python在变量中发现None,是否有方法返回默认值?

308037 次浏览

你可以使用条件表达式:

x if x is not None else some_value

例子:

In [22]: x = None


In [23]: print x if x is not None else "foo"
foo


In [24]: x = "bar"


In [25]: print x if x is not None else "foo"
bar

你已经得到了三元语法x if x else '' -这是你想要的吗?

你可以使用or操作符:

return x or "default"

注意,如果x是任何假值,包括空列表、0、空字符串,甚至datetime.time(0) (midnight),也会返回"default"

return "default" if x is None else x

试试上面的方法。