code: def use(self, key, value):
          
          old_value = self[key]
          try:
              self[key] = value
              yield self
          finally:
              self[key] = old_value
docs: Temporarily set a parameter value using the with statement.
          Aliasing allowed.