diff options
author | Raymond Hettinger <python@rcn.com> | 2008-01-10 19:15:10 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2008-01-10 19:15:10 (GMT) |
commit | e1655088ca65644312f02a147a0f9ad968cde2d9 (patch) | |
tree | a591c87f988519a4ddbe74317d17380d193a4523 /Lib | |
parent | 44c38c16b8f2e95b2bb0ee2e4b808fa3f84fee08 (diff) | |
download | cpython-e1655088ca65644312f02a147a0f9ad968cde2d9.zip cpython-e1655088ca65644312f02a147a0f9ad968cde2d9.tar.gz cpython-e1655088ca65644312f02a147a0f9ad968cde2d9.tar.bz2 |
Examples for named tuple subclassing should include __slots__
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/collections.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/collections.py b/Lib/collections.py index a234b44..47b0397 100644 --- a/Lib/collections.py +++ b/Lib/collections.py @@ -118,17 +118,19 @@ if __name__ == '__main__': # test and demonstrate ability to override methods class Point(namedtuple('Point', 'x y')): + __slots__ = () @property def hypot(self): return (self.x ** 2 + self.y ** 2) ** 0.5 def __str__(self): return 'Point: x=%6.3f y=%6.3f hypot=%6.3f' % (self.x, self.y, self.hypot) - for p in Point(3,4), Point(14,5), Point(9./7,6): + for p in Point(3, 4), Point(14, 5/7.): print p class Point(namedtuple('Point', 'x y')): 'Point class with optimized _make() and _replace() without error-checking' + __slots__ = () _make = classmethod(tuple.__new__) def _replace(self, _map=map, **kwds): return self._make(_map(kwds.get, ('x', 'y'), self)) |