En Python, ¿hay ámbitos variables dentro de sentencias if visibles fuera de la instrucción if? (procedente de un fondo Java, por lo que resulta un poco extraño)Alcance de variable de Python en sentencias if
En el siguiente caso, el nombre se define primero dentro del bloque if pero la variable también está visible fuera del bloque if. Esperaba que ocurriera un error, pero se imprimió 'joe'.
if 1==1:
name = 'joe'
print(name)
@Owen, ¿eh? ¿referencia? –
Oh ... lo siento ... estaba equivocado al respecto. – Owen
@Owen está pensando en la palabra clave 'nonlocal' que asumo, que no define un alcance, solo agrega una sintaxis para referirse a un alcance que encierra pero no global. – agf