如何从Python中的函数获取参数名称列表?
在本文中,我们将讨论如何从Python中的函数获取列表参数。检查_ 模块有助于检查我们编写的代码中存在的对象。我们将使用两个方法,即来自inspect模块的signature()和getargspec()方法来获取在其中一个方法中作为参数传递的函数或方法的参数名称列表。
使用inspect.signature()方法
下面是一些描述如何使用inspect模块的signature()方法来获取参数名称列表的程序:
示例 1:获取方法的参数列表。
Python3
# import required modules
import inspect
import collections
# use signature()
print(inspect.signature(collections.Counter))
Python3
# explicit function
def fun(a, b):
return a**b
# import required modules
import inspect
# use signature()
print(inspect.signature(fun))
Python3
# import required modules
import inspect
# use signature()
print(inspect.signature(len))
Python3
# import required modules
import inspect
import collections
# use getargspec()
print(inspect.getargspec(collections.Counter))
Python3
# explicit function
def fun(a, b):
return a**b
# import required modules
import inspect
# use getargspec()
print(inspect.getargspec(fun))
Python3
# import required modules
import inspect
# use getargspec()
print(inspect.getargspec(len))
输出:
(*args, **kwds)
示例 2:获取显式函数的参数列表。
蟒蛇3
# explicit function
def fun(a, b):
return a**b
# import required modules
import inspect
# use signature()
print(inspect.signature(fun))
输出:
(a, b)
示例 3:获取内置函数的参数列表。
蟒蛇3
# import required modules
import inspect
# use signature()
print(inspect.signature(len))
输出:
(obj, /)
使用inspect.getargspec()方法
下面是一些描述如何使用检查模块的getargspec()方法来获取参数名称列表的程序:
示例 1:获取方法的参数列表。
蟒蛇3
# import required modules
import inspect
import collections
# use getargspec()
print(inspect.getargspec(collections.Counter))
输出:
ArgSpec(args=[], varargs=’args’, keywords=’kwds’, defaults=None)
示例 2:获取显式函数的参数列表。
蟒蛇3
# explicit function
def fun(a, b):
return a**b
# import required modules
import inspect
# use getargspec()
print(inspect.getargspec(fun))
输出:
ArgSpec(args=[‘a’, ‘b’], varargs=None, keywords=None, defaults=None)
示例 3:获取内置函数的参数列表。
蟒蛇3
# import required modules
import inspect
# use getargspec()
print(inspect.getargspec(len))
输出:
ArgSpec(args=[‘obj’], varargs=None, keywords=None, defaults=None)