287

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

如果 Python 在变量中找到 None 有没有办法返回默认值?

4

4 回答 4

452

您可以使用or运算符:

return x or "default"

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

于 2012-12-04T19:44:39.500 回答
186
return "default" if x is None else x

试试上面的。

于 2012-12-04T19:45:01.433 回答
61

您可以使用条件表达式

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
于 2012-12-04T19:43:26.363 回答
4

你有三元语法x if x else ''- 这就是你所追求的吗?

于 2012-12-04T19:44:27.973 回答