Nick Coghlan added the comment: Noting for the record, as the general way of querying an unbound method for the name of the first parameter and adding it to the bound arguments:
def add_instance_arg(callable, bound_args): try: self = callable.__self__ func = callable.__func__ except AttributeError: return # Not a bound method unbound_sig = inspect.signature(func) for name in unbound_sig.parameters: bound_args.arguments[name] = self break >>> method = C().method >>> sig = inspect.signature(method) >>> sig <Signature (arg)> >>> args = sig.bind(1) >>> args <BoundArguments (arg=1)> >>> add_instance_arg(method, args) >>> args <BoundArguments (arg=1, self=<__main__.C object at 0x7f07ab719668>)> ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20438> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com