]> granicus.if.org Git - python/commitdiff
SF patch #667730: More DictMixin
authorRaymond Hettinger <python@rcn.com>
Wed, 22 Jan 2003 01:39:06 +0000 (01:39 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 22 Jan 2003 01:39:06 +0000 (01:39 +0000)
Sebastien Keim pointed out that iterkeys and __contains__ require
their own definitions so their behavior will update when the
underlying method is subclassed.

Lib/UserDict.py

index 34ceb3a09bfcc712beff079cfd7859c8c62ecbbb..f9ad47109fead27809a2c20792d441c591241bd5 100644 (file)
@@ -90,13 +90,15 @@ class DictMixin:
         except KeyError:
             return False
         return True
-    __contains__ = has_key
+    def __contains__(self, key):
+        return self.has_key(key)
 
     # third level takes advantage of second level definitions
     def iteritems(self):
         for k in self:
             yield (k, self[k])
-    iterkeys = __iter__
+    def iterkeys(self):
+        return self.__iter__()
 
     # fourth level uses definitions from lower levels
     def itervalues(self):