Larry Hastings added the comment:
There's a major difference between getfullargspec/getargspec and
inspect.signature: getfullargspec shows you the "self" parameter for bound
methods, and inspect.signature does not.
>>> class C:
... def foo(self, a): pass
...
>>> c = C()
>>>
>>> import inspect
>>> str(inspect.signature(c.foo))
'(a)'
>>> inspect.getfullargspec(c.foo)
FullArgSpec(args=['self', 'a'], varargs=None, varkw=None, defaults=None,
kwonlyargs=[], kwonlydefaults=None, annotations={})
>>> inspect.getargspec(c.foo)
ArgSpec(args=['self', 'a'], varargs=None, keywords=None, defaults=None)
This is why help() (currently) shows bound parameters for methods implemented
in Python, but doesn't show them for methods implemented in C. pydoc uses
inspect.getfullargspec for pure Python functions and inspect.signature for
builtins.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue17481>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com