Python 如何检查多个返回值
我试图检查“GIN”或“NOT READY”或“to BE discard or NEEDS RESUBMISSION”是否有任何值等于retrunVal,我注意到对于任何returnVal,如果“loop”正在获取,而“INSIDE”正在打印,我怀疑语法是否正确,有人能提供输入吗Python 如何检查多个返回值,python,Python,我试图检查“GIN”或“NOT READY”或“to BE discard or NEEDS RESUBMISSION”是否有任何值等于retrunVal,我注意到对于任何returnVal,如果“loop”正在获取,而“INSIDE”正在打印,我怀疑语法是否正确,有人能提供输入吗 if ('GIN' or 'NOT READY' or 'TO BE ABANDON OR NEEDS RESUBMISSION' == returnVal): print "INSIDE"
if ('GIN' or 'NOT READY' or 'TO BE ABANDON OR NEEDS RESUBMISSION' == returnVal):
print "INSIDE"
像这样:
if returnValue in ('GIN', 'NOT READY', 'TO BE ABANDON OR NEEDS RESUBMISSION'):
print 'INSIDE'
这是标准的习惯用法-使用in
操作符测试元组中所有可能值的成员身份。比一堆或'ed contaction干净得多。如下所示:
if returnValue in ('GIN', 'NOT READY', 'TO BE ABANDON OR NEEDS RESUBMISSION'):
print 'INSIDE'
这是标准的习惯用法-使用in
操作符测试具有所有可能值的元组中的成员身份。比一堆或'ed contaction干净得多。这是一种方法:
if (returnVal == 'GIN') or (returnVal == 'NOT READY') or returnVal == '...':
虽然一个更具python风格的更好方法是在
中使用:
if returnVal in ['GIN', 'NOT READY', '...']:
换句话说(对于第一种情况),使用单独的条件,只需将它们或组合在一起
您总是在中看到的原因是'GIN'
在条件的上下文中被有效地视为true
值:
>>> if 'GIN':
... print "yes"
...
yes
而true或是true
这是一种方法:
if (returnVal == 'GIN') or (returnVal == 'NOT READY') or returnVal == '...':
虽然一个更具python风格的更好方法是在
中使用:
if returnVal in ['GIN', 'NOT READY', '...']:
换句话说(对于第一种情况),使用单独的条件,只需将它们或组合在一起
您总是在中看到的原因是'GIN'
在条件的上下文中被有效地视为true
值:
>>> if 'GIN':
... print "yes"
...
yes
而true或是true
您的代码在逻辑上是这样的:
if 'GIN' exists
or if 'NOT READY' exists
or if 'TO BE ABANDON OR NEEDS RESUBMISSION' is equal to retVal
do something
阅读这篇关于python中真值的文章(这也与paxdiablo的答案有关)
更好的方法是使用python的“in”语句:
if retVal in ['GIN', 'NOT READY', 'TO BE ABANDON OR NEEDS RESUBMISSION']:
do something
从逻辑上讲,您的代码如下所示:
if 'GIN' exists
or if 'NOT READY' exists
or if 'TO BE ABANDON OR NEEDS RESUBMISSION' is equal to retVal
do something
阅读这篇关于python中真值的文章(这也与paxdiablo的答案有关)
更好的方法是使用python的“in”语句:
if retVal in ['GIN', 'NOT READY', 'TO BE ABANDON OR NEEDS RESUBMISSION']:
do something