Funções e Escopo

Funções e Escopo

📝Ordem do script

Anteriormente , foi visto explicado o que é uma 🔗função, definimos ela para depois chama-la e não ao contrário. Mas se escrevemos o código de cima para baixo, porque temos que voltar para cima ao escrever uma função?? por exemplo eu quero criar uma função bem simples, que cumprimente 👋:

import cowsay

# a função foi criada depois
def ola(nomedapessoa):
    cowsay.cow(('Olá, ' + nomedapessoa))


nome = input("Qual é o seu nome?: ") # isso foi o primeiro que foi escrito
ola(nome)   #  zé da manga

Uma boa prática é escrever o código principal 🤗 numa função e o restante das funções a continuação, obs:para chamar uma função dentro de outra função, não precisa de ordem nenhuma.

Veja o exemplo:

def main():
    nome = input("Qual é o seu nome: ").strip().title()
    ola(nome)  # chamando outra função

def ola(para="mundo"):
    print("Olá, " , para)

main()

Veja que a função "main()" contém o código principal, e no final só essa função é chamada. Se a função ola() não receber nenhum parâmetro, o valor por padrão será, "mundo", e o resultado final seria : Olá, mundo

🌐➡️Escopo

O termo "escopo" em Python refere-se à região do código onde uma determinada variável é válida e pode ser acessada. Em outras palavras, o escopo define a visibilidade e a disponibilidade de uma variável em diferentes partes do seu programa. Por exemplo existe a variável local e a variável global, a variável 'global' pode ser acessada desde qualquer parte do script, basta nomeá-la global.

exemplo:

🌐GLOBAL

x = 10

def funcao():
    global x
    x = 20  # o novo valor para x

funcao()
print(x)

> 20

📦LOCAL

def funcao():
    y = 30
    print(y)

print(y) # ❌ resulta  em erro, pois 'y' só existe dentro da função

Portanto, o escopo em Python define onde uma variável pode ser usada e modifica a forma como as variáveis interagem entre diferentes partes do código. Entender 🤓 o escopo é importante para evitar bugs e escrever código mais eficiente.