如何确定传递给函数的参数数量?
How to determine the number of arguments passed to function?
我有一个函数,它接受可变数量的参数。我想(在函数中)得到传递的数字。声明如下所示:
def function(*args):
函数调用如下:
function(arg1, arg2, ...)
您可以如下定义函数来获取参数的值:
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)))
输出:
3
要获取参数的名称,您可以:
def someMethod(self, arg1, kwarg1=None):
pass
sig = (signature(someMethod))
print(list(sig.parameters))
阅读更多
here
我有一个函数,它接受可变数量的参数。我想(在函数中)得到传递的数字。声明如下所示:
def function(*args):
函数调用如下:
function(arg1, arg2, ...)
您可以如下定义函数来获取参数的值:
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)))
输出:
3
要获取参数的名称,您可以:
def someMethod(self, arg1, kwarg1=None):
pass
sig = (signature(someMethod))
print(list(sig.parameters))
阅读更多 here