我有一个使用必需参数和一些可选参数的脚本。用这些可选参数调用函数的最佳方法是什么?
现在我有这些if
,但我很确定必须有更好的方法来处理这种情况。否则,如果不是4个可选参数而是100,那我会怎么做(不好的做法,只是为了这个例子)?每个人都使用if
吗?
def get_data(table, db='postgres', host='localhost', user='postgres', password=''):
....
....
....
kwargs = {}
if args.db:
kwargs['db'] = args.db
if args.host:
kwargs['host'] = args.host
if args.user:
kwargs['user'] = args.user
if args.password:
kwargs['password'] = args.password
data = get_data(args.table, **kwargs)
答案 0 :(得分:1)
for key in 'db host user password'.split():
val = getattr(args, key)
if val:
kwargs[key] = val