diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-09-03 05:47:38 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-09-03 05:47:38 (GMT) |
commit | 5d2b77cf31c5a3cbabc74936831480b9caea3a12 (patch) | |
tree | dabb2f29553f94a18e3c5ae96d6f232196415f50 /Doc/paper-a4 | |
parent | 95c99e57b37ede725af1fdd1ff914c91284e3048 (diff) | |
download | cpython-5d2b77cf31c5a3cbabc74936831480b9caea3a12.zip cpython-5d2b77cf31c5a3cbabc74936831480b9caea3a12.tar.gz cpython-5d2b77cf31c5a3cbabc74936831480b9caea3a12.tar.bz2 |
Make dir() wordier (see the new docstring). The new behavior is a mixed
bag. It's clearly wrong for classic classes, at heart because a classic
class doesn't have a __class__ attribute, and I'm unclear on whether
that's feature or bug. I'll repair this once I find out (in the
meantime, dir() applied to classic classes won't find the base classes,
while dir() applied to a classic-class instance *will* find the base
classes but not *their* base classes).
Please give the new dir() a try and see whether you love it or hate it.
The new dir([]) behavior is something I could come to love. Here's
something to hate:
>>> class C:
... pass
...
>>> c = C()
>>> dir(c)
['__doc__', '__module__']
>>>
The idea that an instance has a __doc__ attribute is jarring (of course
it's really c.__class__.__doc__ == C.__doc__; likewise for __module__).
OTOH, the code already has too many special cases, and dir(x) doesn't
have a compelling or clear purpose when x isn't a module.
Diffstat (limited to 'Doc/paper-a4')
0 files changed, 0 insertions, 0 deletions