我正在尝试让我的代码不接受关键字参数,就像一些内置函数也不接受关键字参数一样,但是,我无法做到。根据我的有限理解,这是我的思考:
def somefunc(a,b):
print a,b
somefunc(10,20)
输出:
10 20
现在,当我运行以下代码时(我知道这不是函数定义中预期的关键字参数,但是从函数调用的方式来看,它似乎具有接受关键字参数的函数的语法):
somefunc(b=10,a=20)
输出:
20 10
我有两个问题:-
- 看到函数调用
somefunc(b=10,a=20)
,而不是函数定义,这似乎可以是只接受普通参数的函数调用,也可以是接受关键字参数的函数调用。解释器如何区分这两种情况? - 是否可能将我们的任何函数转换为不接受关键字参数的形式,就像许多内置函数一样?
为什么要做这个呢? 我只是想检查一下自己是否能够做到这一点,以便在深入理解Python时不会遗漏任何内容。我不知道Python是否允许这样做。