根据相关的描述函数的参数类型的官方文件检查模块,有五种类型的python函数参数,为了:POSITIONAL_ONLY, POSITIONAL_OR_KEYWORD, VAR_POSITIONAL, KEYWORD_ONLY VAR_KEYWORD。如图:POSITIONAL_ONLY:参数值必须作为一个位置参数传递。Python没有一个清晰的语法定义POSITIONAL_ONLY类型的参数,但许多内置的或扩展模块函数经常收到这种类型的参数,这是罕见的在实际使用中,所以我不会考虑。POSITIONAL_OR_KEYWORD:这种类型的参数可以通过位置或关键字当调用一个函数。它是最常见的类型的参数。
VAR_POSITIONAL: * args参数,它是一种收集参数,可以获得0或多个位置参数。参数是一个元组,函数体可以直接提取参数的传入的参数值。例如:在上面的图中,* c是一个VAR_POSITIONAL参数,参数值的类型没有限制,可以通过。注意:如果VAR_POSITIONAL参数传递函数被调用时,POSITIONAL_OR_KEYWORD类型参数必须作为一个位置参数传递。KEYWORD_ONLY:关键字参数。参数值时,必须通过以关键字的形式调用一个函数。例如:在上面的图中,d, e, f KEYWORD_ONLY参数。其中,e是一个关键字参数的默认值。当函数被调用时,关键字参数的顺序可以被打扰,但它必须在位置参数。
Kwargs是dict类型,函数体可以直接从Kwargs提取传递的参数。例如:在上面的图中,* * g VAR_KEYWORD参数。同样,关键字参数的顺序不是有限的,但必须是位置参数。上面的。