繁体   English   中英

如何确定传递给 function 的 arguments 的数量?

[英]How to determine the number of arguments passed to function?

我有一个 function,它采用可变数量的 arguments。 我想(在函数中)获得通过的数字。 声明如下所示:

def function(*args):

function调用如下:

function(arg1, arg2, ...)

您可以如下定义 function 以获得 arguments 的值:

def function(*args):
   for i in range(len(args)):
      print(args[i])

function(3, 5, 8)

结果如下:

3
5
8

也就是说, args[i]接收传递给function的第 i 个参数的值。

要获取传递的参数个数,可以使用签名模块。 例子:

from inspect import signature

def someMethod(self, arg1, kwarg1=None):
    pass

sig = (signature(someMethod))
print(len(list(sig.parameters)))

Output:

3

要获取参数的名称,请执行以下操作:

def someMethod(self, arg1, kwarg1=None):
    pass

sig = (signature(someMethod))
print(list(sig.parameters))

在这里阅读更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM