Python - optional parameters before the required ones
1 | def func(a, b, c, config) |
我将始终需要选择三个选项中的一个(A、B、C),并且始终需要配置。它的工作方式应该是:
1 | func(a="hello", config) |
号
和
1 | func(b="hello", config) |
是否可以将可选参数置于所需参数之前?
使用默认参数。
1 2 3 | def func(config, a = None, b = None, c = None): pass func(config, b="B") |
使用词典
1 2 3 4 5 6 7 | params = {"config": myConfig,"b": valB} # you want b here def func(**params): config = params["config"] a = params.get("a") b = params.get("b") c = params.get("c") func(params) |
号
编辑:如果希望配置始终是最后一个,请将其用作
1 2 3 | def func(a=None, b=None, c=None, config=None): pass func(b=valB, config=myConfig) |