From e2b70bcf7401477936fba99a8bf4a1f759ecc8a3 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 18 Aug 2006 22:13:04 +0000 Subject: Get rid of dict.has_key(). Boy this has a lot of repercussions! Not all code has been fixed yet; this is just a checkpoint... The C API still has PyDict_HasKey() and _HasKeyString(); not sure if I want to change those just yet. --- Lib/UserDict.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'Lib/UserDict.py') diff --git a/Lib/UserDict.py b/Lib/UserDict.py index 5e97817f06..b560a11c5b 100644 --- a/Lib/UserDict.py +++ b/Lib/UserDict.py @@ -41,7 +41,6 @@ class UserDict: def iterkeys(self): return self.data.iterkeys() def itervalues(self): return self.data.itervalues() def values(self): return self.data.values() - def has_key(self, key): return self.data.has_key(key) def update(self, dict=None, **kwargs): if dict is None: pass @@ -55,11 +54,11 @@ class UserDict: if len(kwargs): self.data.update(kwargs) def get(self, key, failobj=None): - if not self.has_key(key): + if key not in self: return failobj return self[key] def setdefault(self, key, failobj=None): - if not self.has_key(key): + if key not in self: self[key] = failobj return self[key] def pop(self, key, *args): @@ -91,14 +90,12 @@ class DictMixin: def __iter__(self): for k in self.keys(): yield k - def has_key(self, key): + def __contains__(self, key): try: value = self[key] except KeyError: return False return True - def __contains__(self, key): - return self.has_key(key) # third level takes advantage of second level definitions def iteritems(self): -- cgit v1.2.1