Funções em Python: declaração, argumentos, retorno de valores e variáveis globais

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Fundamentos das Funções em Python

As funções são a base de qualquer programa em Python. Elas permitem estruturar o código, evitar repetições e criar soluções modulares e reutilizáveis.

Muitos iniciantes e até mesmo desenvolvedores experientes enfrentam dúvidas importantes ao trabalhar com funções em Python. Como passar argumentos corretamente para uma função? O que são variáveis globais e como usá-las? Para que servem os decoradores e como usar a palavra-chave global? Como retornar múltiplos valores de uma função?

Definição e Sintaxe de Funções em Python

O que é uma função em Python

Uma função é um bloco de código nomeado que pode ser chamado várias vezes. Em Python, as funções são criadas com a palavra-chave def.

Declaração e Chamada de Funções

A declaração de uma função é feita da seguinte forma:

def saudacao():
    print("Olá, mundo!")

A chamada da função é feita pelo seu nome:

saudacao()

As funções em Python podem conter diversas instruções, como condicionais, loops e outras estruturas da linguagem. A definição correta de funções ajuda a criar um código legível e bem estruturado.

Argumentos de Funções em Python

Argumentos Posicionais

Os argumentos posicionais são passados para a função na ordem em que são definidos:

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

saudacao("Ana")

Ao usar argumentos posicionais, é importante manter a ordem correta dos parâmetros.

Argumentos com Valor Padrão

Argumentos com valor padrão permitem definir valores que serão usados caso o argumento não seja informado:

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

saudacao()  # Olá, Convidado!

O uso de argumentos com valor padrão aumenta a flexibilidade das funções e reduz a quantidade de parâmetros obrigatórios.

Argumentos Nomeados

Os argumentos nomeados são passados com a indicação do nome do parâmetro:

def pedido(item, quantidade):
    print(f"Você pediu {quantidade} {item}")

pedido(item="pizza", quantidade=2)

Argumentos nomeados tornam o código mais legível e permitem passar os parâmetros em qualquer ordem.

Número Variável de Argumentos

O Python suporta a passagem de um número indefinido de argumentos usando *args e **kwargs:

def soma(*args):
    print(sum(args))

soma(1, 2, 3, 4)  # 10

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

exibir_info(nome="João", idade=30)

A construção *args recebe qualquer quantidade de argumentos posicionais. Já **kwargs recebe qualquer quantidade de argumentos nomeados.

Retorno de Valores em Funções Python

Fundamentos do operador return

As funções podem retornar resultados através do operador return. Isso permite usar o resultado da função em outras partes do programa:

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

resultado = somar(5, 3)
print(resultado)  # 8

O operador return encerra a execução da função e devolve o controle para o local onde ela foi chamada.

Retorno de Múltiplos Valores

O Python permite retornar vários valores ao mesmo tempo:

def obter_coordenadas():
    return 10, 20

x, y = obter_coordenadas()

Tecnicamente, o Python retorna uma tupla, que pode ser desempacotada em variáveis separadas. Essa é uma forma prática de obter múltiplos resultados de uma única função.

Particularidades do uso de return

Se uma função não contém o operador return, ela automaticamente retorna None. Isso é importante para evitar comportamentos inesperados no código.

Blogs

Book Recommendations