Python - 必需参数之前的可选参数
Posted
技术标签:
【中文标题】Python - 必需参数之前的可选参数【英文标题】:Python - optional parameters before the required ones 【发布时间】:2018-11-05 13:01:15 【问题描述】:def func(a, b, c, config)
我总是需要从三个(a,b,c)中选择一个,并且总是需要配置。 它应该像这样工作:
func(a="hello", config)
和
func(b="hello", config)
是否可以将可选参数放在必需参数之前?
【问题讨论】:
已经回复Here。 How do I create a Python function with optional arguments?的可能重复 【参考方案1】:使用默认参数。
def func(config, a = None, b = None, c = None):
pass
func(config, b="B")
使用字典
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)
编辑:如果您希望配置始终是最后一个,请将其用作
def func(a=None, b=None, c=None, config=None):
pass
func(b=valB, config=myConfig)
【讨论】:
我认为你应该解开字典 我希望配置是最后一个参数以上是关于Python - 必需参数之前的可选参数的主要内容,如果未能解决你的问题,请参考以下文章