pydu/docs/inspect.rst

96 lines
2.6 KiB
ReStructuredText

Inspect
-------
.. py:function:: pydu.inspect.getargspec(func)
Get the names and default values of a function's arguments.
A tuple of four things is returned: (args, varargs, varkw, defaults).
``args`` is a list of the argument names (it may contain nested lists).
``varargs`` and ``varkw`` are the names of the * and ** arguments or None.
``defaults`` is an n-tuple of the default values of the last n arguments.
>>> 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))
.. py:function:: pydu.inspect.get_func_args(func)
Return a list of the argument names. Arguments such as
``*args`` and ``**kwargs`` are not included.
>>> from pydu.inspect import get_func_args
>>> def f(name, address='home', age=25, *args, **kwargs):
... pass
...
>>> get_func_args(f)
['name', 'address', 'age']
.. py:function:: pydu.inspect.get_func_full_args(func)
Return a list of (argument name, default value) tuples. If the argument
does not have a default value, omit it in the tuple. Arguments such as
``*args`` and ``**kwargs`` are also included.
>>> 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',)]
.. py:function:: pydu.inspect.func_accepts_kwargs(func)
Check whether or not the func accepts kwargs.
>>> from pydu.inspect import func_accepts_kwargs
>>> def f(**kwargs):
... pass
...
>>> func_accepts_kwargs(f)
True
.. py:function:: pydu.inspect.func_accepts_var_args(func)
Check whether or not the func accepts var args.
>>> from pydu.inspect import func_accepts_var_args
>>> def f(*vargs):
... pass
...
>>> func_accepts_var_args(f)
True
.. py:function:: pydu.inspect.func_supports_parameter(func)
Check whether or the func supports the given parameter.
>>> from pydu.inspect import func_supports_parameter
>>> def f(name):
... pass
...
>>> func_supports_parameter(f, 'name')
True
>>> func_supports_parameter(f, 'unkown')
Fasle
.. py:function:: pydu.inspect.func_has_no_args(func)
Check whether or not the func has any args.
>>> from pydu.inspect import func_has_no_args
>>> def f():
... pass
...
>>> func_has_no_args(f)
True