首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL的IFNULL的Python等效项

问MySQL的IFNULL的Python等效项
EN

Stack Overflow用户
提问于 2011-05-13 12:54:03
回答 8查看 31.4K关注 0票数 12

Python中是否有一个函数可以检查返回值是否为None,如果是,则允许您将其设置为另一个值,就像MySQL中的IFNULL函数一样?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-05-13 12:58:44

不完全是,因为你不能重新绑定参数。

代码语言:javascript
复制
if foo is None:
  foo = 42

或

代码语言:javascript
复制
def ifnull(var, val):
  if var is None:
    return val
  return var

foo = ifnull(foo, 42)
票数 12
EN

Stack Overflow用户

发布于 2013-07-26 19:13:43

如果你想转换所有的“假”值(如None,0,"",[],False等)设置为一个特定值,并让其他所有内容原封不动地通过,您可以使用or。例如:

代码语言:javascript
复制
print (x or default_value)

如果x为真,将打印它的值;如果x为假,将打印default_value的值。

我之所以提到这一点,是因为IFNULL通常被用来清除数据库中布尔列和数值列中的空值,这可能是您或其他人想要的。显然,如果你想以不同于0、False等的方式对待None,这是行不通的。

票数 22
EN

Stack Overflow用户

发布于 2011-05-13 15:17:51

如下所示:

代码语言:javascript
复制
x = SOME_VALUE if x is None else x
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5987371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档