Como funciona o escopo de variáveis no Python? Existe Hoisting ou algo similar? Se uma variável é criada dentro de um bloco if
, ela continuará existindo após o termino do bloco?
No JavaScript, nas suas últimas versões, conseguimos controlar em qual escopo uma variável deve existir, além de podermos optar por utilizar var
, let
e const
de acordo com a situação.
Exemplo no JavaScript
let nome = "Sheila"
console.log(nome)
// Sheila
if(true) {
let nome = "Adriano"
console.log(nome)
// Adriano
}
console.log(nome)
// Sheila
É possível eu obter o mesmo resultado apresentado acima utilizando o Python?
Exemplo no Python
nome = "Sheila"
print(nome)
# Sheila
if True:
nome = "Adriano"
print(nome)
# Adriano
print(nome)
# Adriano