globals() e locals()
Le due funzioni globals() e locals() contengono rispettivamente i namespaces globale e locale fino a quel punto.
def A(x,y):
global z
w = 3
print(x)
print(locals())
print(globals()['z'])
z = 0
A(1,2)
locals()==globals()Nel namespace locals() si può inserire una coppia key-value, ma non si può modificare una esistente.
locals()["newValue"] = "newValue" # funziona
locals()["newValue"] = 1 # errore, perchè "newValue" già esiste