您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:通过名称与kwargs一起传递参数

Python:通过名称与kwargs一起传递参数

总体思路是:

def func(arg1, arg2, ..., kwarg1=default, kwarg2=default, ..., *args, **kwargs):
    ...

您可以根据需要使用任意多个。在***将“吸收”任何剩余价值,未列入。

位置参数(不提供认值)不能通过关键字指定,非认参数不能跟随认参数。

注意Python 3还通过在以下位置添加关键字参数来指定仅关键字参数*

def func(arg1, arg2, *args, kwonlyarg=default):
    ...

您也可以*单独使用(def func(a1, a2, *, kw=d):),这意味着不会捕获任何参数,但是后面的所有内容仅是关键字。

因此,如果您在3.x中,则可以使用以下方式产生所需的行为:

def myFun3(*, name, lname, **other_info):
    ...

这将允许使用namelname作为仅关键字进行调用

请注意,这是一个不寻常的界面,可能会使用户烦恼-我只会在非常特定的用例中使用它。

在2.x中,您需要通过解析进行手动设置**kwargs

python 2022/1/1 18:44:52 有493人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶