error de sintaxis en una declaración no local en Python
Me gustaría probar el ejemplo del uso de la declaración no local especificada en la respuesta enesta pregunta:
def outer():
x = 1
def inner():
nonlocal x
x = 2
print("inner:", x)
inner()
print("outer:", x)
pero cuando intento cargar este código, siempre aparece un error de sintaxis:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "t.py", line 4
nonlocal x
^
SyntaxError: invalid syntax
¿Alguien sabe qué estoy haciendo mal aquí? (Recibo el error de sintaxis para cada ejemplo que uso, que contienenonlocal
).