如果在Python中为None,有没有简短的返回默认值?
在C#中,我可以说x ?? ""
x ?? ""
,如果x不为null,则会给我x,如果x为null,则会给出空string。 我发现它对于使用数据库很有用。
如果Python在variables中findNone,是否有返回默认值的方法?
你可以使用or
运算符:
return x or "default"
请注意,如果x
是任何其他的falsy值(包括空列表,0,空string,或者甚至是datetime.time(0)
(午夜)),则也会返回"default"
。
return "default" if x is None else x
尝试以上。
你可以使用一个条件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
x or "default"
效果最好 – 我甚至可以使用内联函数调用,而不执行两次或使用额外的variables:
self.lineEdit_path.setText( self.getDir(basepath) or basepath )
我用它打开Qt的dialog.getExistingDirectory()
和取消,它返回空string。
你有三元语法x if x else ''
– 那是你在做什么?