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) |