As an alternative to using function attributes, you can use the inspect module for a more user-friendly interface:
For Python 3.x interpreters:
import inspect spec = inspect.getfullargspec(myFunction)
Then spec is a FullArgSpec object with attributes such as args and defaults :
FullArgSpec(args=['arg1'], varargs=None, varkw=None, defaults=('a default value',), kwonlyargs=[], kwonlydefaults=None, annotations={})
Some of these attributes are not available in Python 2, so if you have to use the old version of inspect.getargspec(myFunction) , you will get a similar value without Python 3 functions ( getargspec also works on Python 3, but not recommended with Python 3.0 so don't use )
import inspect spec = inspect.getargspec(myFunction)
Then spec is an ArgSpec object with attributes such as args and defaults :
ArgSpec(args=['arg1'], varargs=None, keywords=None, defaults=('a default value',))
Duncan
source share