Cómo modificar el espacio de nombres local en Python

¿Cómo puedo modificar el espacio de nombres local de una función en python? Sé que locals () devuelve el espacio de nombres local de la función cuando se llama dentro de ella, pero quiero hacer algo como esto (tengo una razón por la que quiero hacer esto donde g no es accesible para f, pero es más rápido dar un ejemplo trivial y estúpido para ilustrar el problema):

def g():
   pass

def f():
    g()

f.add_to_locals({'g':g})

Respuestas a la pregunta(7)

Su respuesta a la pregunta