code: def _setdefault(obj, key, value):
      
      v = obj.get(key)
      if v == None:
          obj[key] = value
          return value
      return v
docs: DO NOT USE __dict__.setdefault(obj, key, value), IT DOES NOT CHECK FOR obj[key] == None