The default argument in dict.setdefault() defaults to None.
Add this default to weakref.WeakValueDictionary.setdefault()
and weakref.WeakKeyDictionary.setdefault() too.
diff --git a/Lib/weakref.py b/Lib/weakref.py
index 5c66186..510cd7c 100644
--- a/Lib/weakref.py
+++ b/Lib/weakref.py
@@ -113,7 +113,7 @@
         else:
             return o
 
-    def setdefault(self, key, default):
+    def setdefault(self, key, default=None):
         try:
             wr = self.data[key]
         except KeyError:
@@ -241,7 +241,7 @@
     def pop(self, key, *args):
         return self.data.pop(ref(key), *args)
 
-    def setdefault(self, key, default):
+    def setdefault(self, key, default=None):
         return self.data.setdefault(ref(key, self._remove),default)
 
     def update(self, dict=None, **kwargs):