what is the "/" mean in __init__(self, /, *args, **kwargs) ?
Ben Finney
ben+python at benfinney.id.au
Wed Aug 13 22:08:16 EDT 2014
luofeiyu <elearn2014 at gmail.com> writes:
> >>> help(int.__init__)
> Help on wrapper_descriptor:
>
> __init__(self, /, *args, **kwargs)
> Initialize self. See help(type(self)) for accurate signature.
>
> what is the "/" mean in __init__(self, /, *args, **kwargs) ?
I don't know, I haven't seen that before. It is confusing.
At least it is acknowledged (“See [elsewhere] for accurate signature”)
to be unhelpful.
I suspect this is an artefact of the impedance mismatch between Python
function signatures and the implementation of ‘int’ in C code. The “/”
may be a placeholder for something the C implementation requires but
that Python's function signature expectation doesn't allow.
Perhaps Python 3's keyword-only arguments may one day help functions
like that get implemented with a more useful signature, but I'm not
holding my breath for that.
--
\ “Religious faith is the one species of human ignorance that |
`\ will not admit of even the *possibility* of correction.” —Sam |
_o__) Harris, _The End of Faith_, 2004 |
Ben Finney
More information about the Python-list
mailing list