gpt4 book ai didi

python - 默认参数还是 kwargs?

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:34 27 4
gpt4 key购买 nike

在 Python 中,有几种不同的方法可以在函数中设置默认关键字参数。我知道的方法是:

def default(para_1: str = "this is", para_2: str = "an example"):
print(para_1, para_2)

和:

def keyword(**kwargs):
para_1 = kwargs.get("para_1", "this is")
para_2 = kwargs.get("para_2", "an example")

print(para_1, para_2)

这两个函数都可以这样调用:

default(para_1="this is", para_2="another example")
keyword(para_1="this is", para_2="another example")

达到同样的效果。我知道这两种方法之间的唯一区别是在使用可变默认值时,默认参数需要写成:

def mutable_default(para_1: dict = None):
if para_1 is None:
para_1 = {}

虽然 kwarg 方法不需要以相同的方式重新构建,因为它使用可变默认值是安全的:

def mutable_keyword(**kwargs):
para_1 = kwargs.get("para_1", {})

两者之间是否有首选方法?

最佳答案

是的。尽可能使用真实参数,因为它们将显示在函数的 help() 中。看到一个函数有一个签名 (**kwargs) 并没有告诉你它接受什么参数。查看签名 (search_term, whole_word=False, case_sensitive=True) 更有值(value)。

使用好的名称是一种文档形式,可以减少编写其他文档的需要(以及由于代码更改而导致文档过时的可能性)。

关于python - 默认参数还是 kwargs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47873790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com