有没有一种方法在Python中有条件地传递参数(我使用Python 2.7)?在Python函数调用中的条件参数
作为一个例子,这段代码给出了2或3个参数,取决于第三个参数是否存在于一个字典中。
if "arg3" in my_dict:
my_method(
my_dict[arg1],
my_dict[arg2],
my_dict[arg3],
)
else:
my_method(
my_dict[arg1],
my_dict[arg2],
)
我觉得用这种方式写它看起来有点多余。我已经看到了一些信息,我想应该是这样的:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(my_dict[arg1])
parser.add_argument(my_dict[arg2])
if arg3 in my_dict:
parser.add_argument(my_dict[arg3])
args = parser.parse_args()
my_method(args)
我真的不喜欢这种方法要么,因为它需要进口,是难以阅读。
有没有办法做这样的事情:
my_method(
my_dict[arg1],
my_dict[arg2],
my_dict[arg3] if arg3 in my_dict,
)
还是我缺少任何其他方式,这将是简单和干净吗?
我的答案是否适合您? – e4c5