The getmethpartlist turtle module function does work which seems to be supposed to be done by the inspect module.
In fact, getmethpartlist calls inspect.signature and then iterates over it to produce a call to the callable. Perhaps this second part could also be implemented in the inspect module.
In an issue, @tjreedy said, “For calls that just want the call signature, I wonder if calling getmethodparlist could be replaced by calling signature.”
So, my suggestion is to add two new methods to Signature class, which:
- Returns the call:
class Signature():
def as_call(self) -> string : ...
- Returns a new
Signaturewithout the first parameter ifobis a method:
class Signature():
def as_function(self): ...
Then, getmethpartlist could be:
def getmethpartlist(ob):
defs = inspect.signature(ob).as_function(ob)
call = defs.as_call()
return str(defs), call
Thoughts?