mirror of
https://github.com/python/cpython.git
synced 2025-11-02 19:12:55 +00:00
SF patch #667730: More DictMixin
Sebastien Keim pointed out that iterkeys and __contains__ require their own definitions so their behavior will update when the underlying method is subclassed.
This commit is contained in:
parent
981344567f
commit
51f3f1b7dc
1 changed files with 4 additions and 2 deletions
|
|
@ -90,13 +90,15 @@ class DictMixin:
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
__contains__ = has_key
|
def __contains__(self, key):
|
||||||
|
return self.has_key(key)
|
||||||
|
|
||||||
# third level takes advantage of second level definitions
|
# third level takes advantage of second level definitions
|
||||||
def iteritems(self):
|
def iteritems(self):
|
||||||
for k in self:
|
for k in self:
|
||||||
yield (k, self[k])
|
yield (k, self[k])
|
||||||
iterkeys = __iter__
|
def iterkeys(self):
|
||||||
|
return self.__iter__()
|
||||||
|
|
||||||
# fourth level uses definitions from lower levels
|
# fourth level uses definitions from lower levels
|
||||||
def itervalues(self):
|
def itervalues(self):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue