diff --git a/Lib/UserDict.py b/Lib/UserDict.py
index a786ae0..39f4d07 100644
--- a/Lib/UserDict.py
+++ b/Lib/UserDict.py
@@ -41,7 +41,7 @@
     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 has_key(self, key): return key in self.data
     def update(self, dict=None, **kwargs):
         if dict is None:
             pass
@@ -59,7 +59,7 @@
             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):
