summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_descrtut.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-09-03 05:47:38 (GMT)
committerTim Peters <tim.peters@gmail.com>2001-09-03 05:47:38 (GMT)
commit5d2b77cf31c5a3cbabc74936831480b9caea3a12 (patch)
treedabb2f29553f94a18e3c5ae96d6f232196415f50 /Lib/test/test_descrtut.py
parent95c99e57b37ede725af1fdd1ff914c91284e3048 (diff)
downloadcpython-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 'Lib/test/test_descrtut.py')
-rw-r--r--Lib/test/test_descrtut.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/Lib/test/test_descrtut.py b/Lib/test/test_descrtut.py
index edb0388..121eed5 100644
--- a/Lib/test/test_descrtut.py
+++ b/Lib/test/test_descrtut.py
@@ -97,14 +97,15 @@ just like classic classes:
>>> a.default = -1000
>>> print a["noway"]
-1000
- >>> print dir(a)
- ['default']
+ >>> 'default' in dir(a)
+ 1
>>> a.x1 = 100
>>> a.x2 = 200
>>> print a.x1
100
- >>> print dir(a)
- ['default', 'x1', 'x2']
+ >>> d = dir(a)
+ >>> 'default' in d and 'x1' in d and 'x2' in d
+ 1
>>> print a.__dict__
{'default': -1000, 'x2': 200, 'x1': 100}
>>>