我正在编写一个接受两个参数“a”和“b”的api。接收到参数后,它会检查它们是否存在,并根据接收到的参数执行一些操作。这是一些伪代码。
args = get.parameters
if "a" in args:
print "x" # execute "x"
if "b" in args:
print "y" # execute "y"
if both exists:
print "x" # execute "x"
最好的方法是什么?
我正在编写一个接受两个参数“a”和“b”的api。接收到参数后,它会检查它们是否存在,并根据接收到的参数执行一些操作。这是一些伪代码。
args = get.parameters
if "a" in args:
print "x" # execute "x"
if "b" in args:
print "y" # execute "y"
if both exists:
print "x" # execute "x"
最好的方法是什么?
根据评论中阐明的要求,这就是我要做的:
if "a" in args:
print "x"
elif "b" in args:
print "y"
else:
raise ValueError("must specify at least a or b")
进行检查是没有意义的"a" in args and "b" in args
,因为要采取的措施与您只有"a"
. 请注意elif
,它确保仅在第一次检查失败时才执行第二次检查。
import sys
args = sys.argv;
if len(args) > 1:
args = args[1:]
if "a" in args and "b" in args: print "x"
elif "a" in args: print "x"
elif "b" in args: print "y"
使用您提供的有限信息,我将首先检查两者的存在a
和b
首先。然后存在a
不是b
或b
不存在a
。这样你就不会错过任何条件。
if 'a' in args and 'b' in args:
print "x" # execute "x"
elif "a" in args:
print "x" # execute "x"
elif "b" in args:
print "y" # execute "y"
else:
print 'ERROR need "a" or "b"'
另外我不明白为什么不使用if-elif-else
而不是使用多个ifs
. 这些应该是非此即彼的条件。