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

时间:2012-12-04 19:42:32

标签: python

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

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

4 个答案:

答案 0 :(得分:245)

您可以使用or运算符:

return x or "default"

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

答案 1 :(得分:78)

return "default" if x is None else x

尝试以上内容。

答案 2 :(得分:35)

您可以使用conditional expression

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

答案 3 :(得分:4)

你有三元语法x if x else '' - 你正在追求的是什么?