gpt4 book ai didi

python - 检查多个变量是否不是None的最pythonic方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 21:46:16 28 4
gpt4 key购买 nike

如果我有这样的构造:

def foo():
a=None
b=None
c=None

#...loop over a config file or command line options...

if a is not None and b is not None and c is not None:
doSomething(a,b,c)
else:
print "A config parameter is missing..."

python 中检查所有变量是否都设置为有用值的首选语法是什么?是像我写的那样,还是其他更好的方法?

这与这个问题不同: not None test in Python ...我正在寻找检查许多条件是否不是“无”的首选方法。我输入的选项看起来很长而且不是pythonic。

最佳答案

真的可以简单得多

if None not in (a, b, c, d):
pass

更新:

正如 slashCoder 正确指出的那样,上面的代码隐含地执行 a == None、b == None 等。这种做法是不受欢迎的。相等运算符可以重载,not None 可以等于 None。你可能会说它永远不会发生。好吧,它没有,直到它发生。所以,为了安全起见,如果你想检查没有一个对象是 None ,你可以使用这种方法

if not [x for x in (a, b, c, d) if x is None]:
pass

它有点慢,表达力较差,但它仍然相当快和短。

关于python - 检查多个变量是否不是None的最pythonic方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42360956/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com