[Python-Dev] pydoc for named tuples is missing methods
Eric Smith
eric at trueblade.com
Mon Mar 14 12:59:38 CET 2011
On 03/14/2011 07:46 AM, Antoine Pitrou wrote:
> On Mon, 14 Mar 2011 06:29:09 -0400
> Eric Smith<eric at trueblade.com> wrote:
>> On 03/14/2011 02:33 AM, Greg Ewing wrote:
>>> Tim Lesher wrote:
>>>
>>>> Because named tuple prefixes a single underscore to its added method
>>>> names (_asdict, _replace, and _make), those methods' docstrings are
>>>> omitted from pydoc:
>>>
>>> IMO these should be called __asdict__, __replace__ and
>>> __make__. Users are perfectly entitled to make up their
>>> own single-underscore names, so using a single underscore
>>> is not sufficient to prevent name collisions.
>>
>> namedtuple won't let you use names starting with an underscore, so the
>> single underscore names are sufficient.
>
> Not for members perhaps, but nothing prevents you from defining methods
> with these names in a subclass AFAIK.
Good point. You can define methods or other attributes this way:
>>> from collections import namedtuple
>>> A = namedtuple('A', 'x y')
>>> class B(A):
... _replace = 3
...
>>> b = B(1, 2)
>>> b._replace
3
More information about the Python-Dev
mailing list