Skip to content

Latest commit

 

History

History
95 lines (67 loc) · 2.57 KB

inspect.rst

File metadata and controls

95 lines (67 loc) · 2.57 KB

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