O Que Você Vai Aprender
Nesta aula de 1 hora, você dominará duas peças-chave para criar funções mais poderosas e um código mais organizado: a instrução `return`, que permite que suas funções "devolvam" resultados, e o conceito crucial de escopo de variáveis, entendendo onde suas variáveis são acessíveis no programa.
↩️ Retorno de Valores (`return`)
Aprender a usar `return` para que uma função devolva um valor para o local de sua chamada.
🌐 Escopo de Variáveis
Compreender a diferença entre escopo de variável local (dentro da função) e global (fora da função).
A Instrução `return`: Devolvendo Valores de Funções
Até agora, nossas funções apenas executavam ações (como imprimir algo). Com a instrução `return`, uma função pode processar dados e "devolver" um resultado para o restante do programa. Esse valor retornado pode ser armazenado em uma variável, usado em cálculos, ou passado para outra função.
Como Funciona `return`
- `return valor`: Envia `valor` de volta ao ponto onde a função foi chamada.
- Encerramento Imediato: Quando `return` é executado, a função para sua execução imediatamente, e qualquer código após o `return` não será executado.
- Se uma função não tem `return` explícito, ela implicitamente retorna `None`.
def somar_com_retorno(a, b):
"""Calcula a soma de dois números e a retorna."""
return a + b
# O valor retornado é armazenado na variável 'total'
total = somar_com_retorno(10, 20)
print(f"O resultado armazenado é: {total}") # Saída: O resultado armazenado é: 30
# Exemplo de return encerrando a função
def exemplo_return_precoce():
print("Início da função")
return "Valor imediato"
print("Este texto NUNCA será impresso.") # Código inalcançável
Simulador: Calculadora com Retorno
Insira dois números e veja a função `somar_com_retorno()` calcular a soma e "devolver" o resultado.
Escopo de Variáveis: Onde Suas Variáveis Vivem
O "escopo" de uma variável refere-se à região do seu programa onde essa variável pode ser acessada. Entender o escopo é crucial para evitar erros e escrever código previsível.
Escopo Local
Variáveis criadas DENTRO de uma função têm escopo local. Elas só existem enquanto a função está sendo executada e são destruídas quando a função termina. Não podem ser acessadas de fora da função.
def minha_funcao():
variavel_local = "Sou local da função"
print(variavel_local) # OK
# print(variavel_local) # Isso geraria um NameError!
Escopo Global
Variáveis criadas FORA de qualquer função têm escopo global. Elas podem ser acessadas (lidas) de qualquer lugar do programa, inclusive de dentro das funções.
variavel_global = "Sou global, acessível em todo lugar"
def outra_funcao():
print(variavel_global) # Pode ler a variável global
outra_funcao()
print(variavel_global) # OK
Boa Prática: Evite modificar variáveis globais dentro de funções diretamente. É melhor passar valores como parâmetros e retornar resultados, mantendo as funções mais independentes e fáceis de testar.
Simulador: Explorador de Escopo
Veja como as variáveis locais e globais se comportam. A função tenta acessar ambas, mas a variável local não pode ser acessada de fora.
# VARIÁVEL GLOBAL
variavel_global = "Sou global e existo fora da função."
def minha_funcao_escopo():
# VARIÁVEL LOCAL
variavel_local = "Sou local e só existo aqui dentro."
print("Dentro da função:")
print(f" Acessando local: '{variavel_local}'")
print(f" Acessando global: '{variavel_global}'")
print("Chamando a função pela primeira vez...")
minha_funcao_escopo()
print("\nTentando acessar variáveis fora da função:")
print(f" Acessando global: '{variavel_global}'")
# print(variavel_local) # Isso geraria um erro de NameError!
Desafios para Continuar
Agora que você aprendeu a retornar valores e sobre o escopo, é hora de praticar! Resolva estes problemas no seu ambiente de desenvolvimento Python para solidificar seu aprendizado.
-
✓
Função `calcular_area_retangulo` com Retorno
Converta a função `calcular_area_retangulo(base, altura)` (da Aula 22) para que ela retorne a área calculada, em vez de imprimi-la. Teste armazenando o resultado em uma variável e depois imprimindo essa variável.
Simulador: Área do Retângulo (com Retorno)
-
✓
Encontrar o Maior Valor em uma Lista
Crie uma função que receba uma lista de números como parâmetro e retorne o maior valor presente na lista.
Simulador: Maior Valor na Lista