summaryrefslogtreecommitdiff
path: root/Lib/collections.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/collections.py')
-rw-r--r--Lib/collections.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/collections.py b/Lib/collections.py
index e1e9d11a6c..78f92ceb54 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -117,23 +117,28 @@ 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)
+ 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))
print(Point(11, 22)._replace(x=100))
+ Point3D = namedtuple('Point3D', Point._fields + ('z',))
+ print(Point3D.__doc__)
+
import doctest
TestResults = namedtuple('TestResults', 'failed attempted')
print(TestResults(*doctest.testmod()))