summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2008-01-10 19:15:10 (GMT)
committerRaymond Hettinger <python@rcn.com>2008-01-10 19:15:10 (GMT)
commite1655088ca65644312f02a147a0f9ad968cde2d9 (patch)
treea591c87f988519a4ddbe74317d17380d193a4523 /Lib
parent44c38c16b8f2e95b2bb0ee2e4b808fa3f84fee08 (diff)
downloadcpython-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.py4
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))