如果我有这样的构造:
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/