Le 24/12/2010 02:08, Nick Coghlan a écrit : > On Fri, Dec 24, 2010 at 4:41 AM, eric.araujo <python-check...@python.org> > wrote: >> Fix small inaccuracy: there is no index function > > Yes, there is, it just isn't a builtin - it lives in the operator module. Defining object.__index__ with operator.index seems pretty circular to me :) http://docs.python.org/dev/reference/datamodel#object.__index__ does it, but it should be fixed IMO. The difference between __int__ and __index__ is also not clear.
>> def __index__(self): >> - """index(self)""" >> + """someobject[self]""" >> return int(self) > > Changing the docstring to say "operator.index(self)" would be the > clearest solution here. I disagree. __add__ is documented as implementing +, not operator.add. > (Choosing to accept arbitrary index objects as > integer equivalents is up to the object being indexed, just like > interpreting slices is - a dict, for example, will never invoke > __index__ methods). I honestly don’t know what the best fix is. We could copy the doc from datamodel (“called whenever Python needs an integer object (such as in slicing, or in the built-in bin(), hex() and oct() functions)”). I’ve been told on IRC to let Mark Dickison decide how to fix the docstrings in the numbers module (deleting them being of course an option: magic methods are documented in the language reference, they don’t need docstrings). Regards _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com