Funções em Python: criando e usando – como passar argumentos, retorno e boas práticas

Funções são blocos de código reutilizáveis que executam uma tarefa específica. Elas tornam seu código mais organizado, legível e fácil de manter. Em Python, as funções são essenciais para evitar repetiçãomodularizar programas e facilitar a manutenção.

Neste guia, vamos abordar:

Vamos lá! 🚀


1️⃣ O que é uma função?

Uma função é um conjunto de instruções que executa uma tarefa específica.

Sintaxe básica:

def nome_da_funcao():
    # bloco de código
    print("Esta é uma função!")

Chamando a função:

nome_da_funcao()

Saída:

Esta é uma função!

def indica que estamos definindo uma função, seguido pelo nome e parênteses. O bloco indentado contém as instruções.


2️⃣ Funções com argumentos

Argumentos permitem passar informações para a função, tornando-a mais flexível.

Exemplo:

def saudacao(nome):
    print(f"Olá, {nome}!")

saudacao("Thales")

Saída:

Olá, Thales!

Múltiplos argumentos:

def soma(a, b):
    print(a + b)

soma(10, 5)  # 15

Argumentos padrão

Você pode definir valores padrão para argumentos:

def saudacao(nome="Amigo"):
    print(f"Olá, {nome}!")

saudacao()       # Olá, Amigo!
saudacao("Ana")  # Olá, Ana!

3️⃣ Retornando valores

Funções podem retornar valores usando a palavra-chave return. Isso permite que você use o resultado em outras partes do programa.

Exemplo:

def soma(a, b):
    return a + b

resultado = soma(10, 5)
print("Resultado:", resultado)

Saída:

Resultado: 15

Retornando múltiplos valores

def operacoes(a, b):
    soma = a + b
    produto = a * b
    return soma, produto

s, p = operacoes(3, 4)
print("Soma:", s, "Produto:", p)

Saída:

Soma: 7 Produto: 12

4️⃣ Funções com argumentos nomeados

Python permite passar argumentos pelo nome, tornando o código mais legível.

def apresentar(nome, idade):
    print(f"Nome: {nome}, Idade: {idade}")

apresentar(idade=30, nome="Thales")

Saída:

Nome: Thales, Idade: 30

Isso é útil quando há vários argumentos ou queremos evitar erros de ordem.


5️⃣ Funções com argumentos arbitrários

*args → lista de argumentos

def soma_numeros(*args):
    return sum(args)

print(soma_numeros(1, 2, 3, 4))  # 10

**kwargs → dicionário de argumentos nomeados

def apresentar_informacoes(**kwargs):
    for chave, valor in kwargs.items():
        print(f"{chave}: {valor}")

apresentar_informacoes(nome="Thales", idade=30, cidade="Curitiba")

Saída:

nome: Thales
idade: 30
cidade: Curitiba

*args e **kwargs tornam a função flexível e dinâmica.


6️⃣ Boas práticas ao criar funções

  1. Nomes claros: Use nomes que indiquem o que a função faz, ex.: calcular_media().

  2. Função pequena: Prefira funções que façam uma única tarefa.

  3. Comentários e docstrings: Explique o que a função faz.

def soma(a, b):
    """
    Retorna a soma de dois números.
    """
    return a + b
  1. Evite efeitos colaterais: Funções devem retornar valores em vez de modificar variáveis externas diretamente, sempre que possível.

  2. Reutilização: Sempre que perceber que um trecho de código se repete, transforme em função.


7️⃣ Exemplos práticos do dia a dia

a) Calculando a média de notas

def calcular_media(notas):
    return sum(notas) / len(notas)

notas_aluno = [8, 7.5, 9]
media = calcular_media(notas_aluno)
print("Média do aluno:", media)

b) Verificando idade mínima

def pode_dirigir(idade):
    return idade >= 18

idade_usuario = 20
if pode_dirigir(idade_usuario):
    print("Pode dirigir")
else:
    print("Não pode dirigir")

c) Saudações personalizadas

def saudacao(nome, cargo="Visitante"):
    print(f"Olá, {nome}! Seu cargo é: {cargo}")

saudacao("Thales")              # Olá, Thales! Seu cargo é: Visitante
saudacao("Ana", cargo="Gerente") # Olá, Ana! Seu cargo é: Gerente

8️⃣ Exercícios para praticar

  1. Crie uma função quadrado() que recebe um número e retorna seu quadrado.

  2. Crie uma função area_retangulo(base, altura) que retorna a área de um retângulo.

  3. Crie uma função imprimir_lista(*args) que recebe qualquer quantidade de elementos e imprime cada um em uma linha.

  4. Crie uma função verificar_par(numero) que retorna True se o número for par e False caso contrário.

  5. Crie uma função calcular_media_notas(**kwargs) que recebe nomes de alunos e suas notas, e retorna um dicionário com a média de cada aluno.


9️⃣ Conclusão

Funções são a base para escrever programas organizados, reutilizáveis e eficientes em Python. Com elas, você pode:

  • Reduzir repetição de código

  • Modularizar seu programa em blocos lógicos

  • Trabalhar com argumentos e retornos flexíveis

  • Tornar o código legível e fácil de manter

Próximo passo: combinar funções com loops e condicionais para criar programas mais complexos e dinâmicos.

Comentários

Postagens mais visitadas deste blog

Laços de Repetição em Python: Conceitos e Exemplos Práticos

Manipulação de Arquivos no C#: Como Ler, Escrever e Trabalhar com Arquivos de Forma Simples

Como Instalar o Xamarin com C#: Passo a Passo Completo