Python-普通参数与关键字参数

发布于 2021-02-02 23:20:45

“关键字参数”与常规参数有何不同?不能将所有参数都传递为name=value而不是使用位置语法吗?

关注者
0
被浏览
172
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    有两个相关的概念,都称为“ 关键字参数 ”。

    在调用方(这是其他评论者提到的),您可以通过名称指定一些函数自变量。您必须在所有不带名称的参数(位置参数)之后提及它们,并且对于所有未提及的参数都必须有默认值。

    另一个概念是在函数定义方面:您可以定义一个按名称接受参数的函数-甚至不必指定这些名称是什么。这些是纯关键字参数,不能按位置传递。语法是

    def my_function(arg1, arg2, **kwargs)
    

    您传递给此函数的所有关键字参数都将放入名为的字典中kwargs。您可以在运行时检查此字典的键,如下所示:

    def my_function(**kwargs):
        print str(kwargs)
    
    my_function(a=12, b="abc")
    
    {'a': 12, 'b': 'abc'}
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看