Inspect 检查
优质
小牛编辑
124浏览
2023-12-01
提供函数参数检查的工具。
pydu.inspect.
getargspec
(func)获得函数参数的名称和默认值。
返回由四个字符串组成的元组:(args, vargs, varkw, defaults)。
args
是参数名称的列表(可能包含嵌套列表)。varargs
和varkw
是 * 和 ** 参数的名称,或者为None
。defaults
是最后n个参数的默认值组成的元组。>>> from pydu.inspect import getargspec >>> def f(name, address='home', age=25, *args, **kwargs): ... pass ... >>> getargspect(f) ArgSpec(args=['name', 'address', 'age'], varargs='args', keywords='kwargs', defaults=('home', 25))
pydu.inspect.
get_func_args
(func)返回参数名称的列表。诸如
*args
和*kwargs
的参数不被包含。>>> from pydu.inspect import get_func_args >>> def f(name, address='home', age=25, *args, **kwargs): ... pass ... >>> get_func_args(f) ['name', 'address', 'age']
pydu.inspect.
get_func_full_args
(func)返回(参数名称, 默认值)元组的列表。如果参数没有默认值,则在元组中丢弃。诸如
*args
和*kwargs
的参数也被包含在内。>>> from pydu.inspect import get_func_full_args >>> def f(name, address='home', age=25, *args, **kwargs): ... pass ... >>> get_func_full_args(f) [('name',), ('address', 'home'), ('age', 25), ('*args',), ('**kwargs',)]
pydu.inspect.
func_accepts_kwargs
(func)检查函数是否接受关键字参数。
>>> from pydu.inspect import func_accepts_kwargs >>> def f(**kwargs): ... pass ... >>> func_accepts_kwargs(f) True
pydu.inspect.
func_accepts_var_args
(func)检查函数是否接受位置参数。
>>> from pydu.inspect import func_accepts_var_args >>> def f(*vargs): ... pass ... >>> func_accepts_var_args(f) True
pydu.inspect.
func_supports_parameter
(func)检查函数是否接受给定参数。
>>> from pydu.inspect import func_supports_parameter >>> def f(name): ... pass ... >>> func_supports_parameter(f, 'name') True >>> func_supports_parameter(f, 'unkown') Fasle
pydu.inspect.
func_has_no_args
(func)检查函数是否接受任意参数。
>>> from pydu.inspect import func_has_no_args >>> def f(): ... pass ... >>> func_has_no_args(f) True