code: def setdefault(self, key, default):
          
          if key not in self or not self.__getitem__(key):
              self.__setitem__(key, default)
          return self.__getitem__(key)
docs: If key is in the flat dictionary, return its value. If not,
          insert key with a value of default and return default.
          default defaults to ``None``.
  
          :param mixed key: The key name
          :param mixed default: The default value
          :rtype: mixed