summaryrefslogtreecommitdiffstats
path: root/Lib/UserDict.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2006-08-18 22:13:04 (GMT)
committerGuido van Rossum <guido@python.org>2006-08-18 22:13:04 (GMT)
commite2b70bcf7401477936fba99a8bf4a1f759ecc8a3 (patch)
tree4c9b65b7fd8c26a3d2f1b64ecd6b4c72a756b4b2 /Lib/UserDict.py
parentd2dbecb4ae9177e2e87adcb047147c6bcbf28cc1 (diff)
downloadcpython-e2b70bcf7401477936fba99a8bf4a1f759ecc8a3.zip
cpython-e2b70bcf7401477936fba99a8bf4a1f759ecc8a3.tar.gz
cpython-e2b70bcf7401477936fba99a8bf4a1f759ecc8a3.tar.bz2
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.
Diffstat (limited to 'Lib/UserDict.py')
-rw-r--r--Lib/UserDict.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/Lib/UserDict.py b/Lib/UserDict.py
index 5e97817..b560a11 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):