comparison Python/traceback.c @ 19665:08c3c9edd99b legacy-trunk

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.
author Tim Peters <tim.peters@gmail.com>
date Mon, 03 Sep 2001 05:47:38 +0000
parents 6f6f965c5e2d
children 82ac83474462 57b51966a4f1
comparison
equal deleted inserted replaced
19664:ec7a2a6cdbe9 19665:08c3c9edd99b