
Enamed será obrigatório para exercer Medicina; entenda a nova regra
| 09/11/26Lei exige proficiência no exame para o registro profissional de quem ingressou no curso a partir de 19 de junho de 2026.
Em resumo
Se você já precisou copiar e colar o mesmo cálculo inúmeras vezes no seu código, sabe o quanto isso é contraprodutivo. É exatamente para resolver esse problema que existem as funções em Python.
Elas funcionam como pequenas máquinas automáticas prontas para entrar em ação no momento em que você chama. Uma vez configuradas, economizam tempo precioso e deixam seus projetos organizados e fáceis de manter.

Uma função em Python nada mais é do que um bloco isolado de código desenhado para cumprir uma tarefa específica.
Em vez de reescrever uma rotina repetidas vezes, você agrupa as instruções dentro de uma única estrutura nomeada.
Essa prática segue um dos princípios mais famosos da programação moderna, conhecido no mercado pela sigla DRY (Don’t Repeat Yourself).
Reduzir a duplicação economiza linhas e diminui drasticamente a chance de você cometer erros manuais.
Além de organizar o raciocínio, as funções deixam o código modular, o que facilita muito o trabalho em equipe dentro de empresas. Cada membro do time pode construir e testar uma parte do sistema sem quebrar o restante da aplicação.
Criar uma função no Python é um processo intuitivo que começa sempre com a palavra-chave reservada def.
Logo após o termo, você escolhe um nome representativo, adiciona parênteses e finaliza a linha inicial com dois pontos.
A regra de ouro da linguagem entra em cena imediatamente na linha seguinte: a indentação de quatro espaços.
Todas as ações que pertencem ao bloco da função precisam estar recuadas para a direita em relação à margem inicial.
Python
def dar_boas_vindas():
mensagem = "Olá! Seja bem-vindo ao mundo do Python."
print(mensagem)
dar_boas_vindas()
No exemplo acima, a instrução cria o comportamento desejado, mas não o dispara de imediato. Para colocar o bloco em movimento, basta chamar o nome atribuído acompanhado dos parênteses em qualquer ponto posterior.
Embora muitos desenvolvedores usem os dois termos como sinônimos na rotina de trabalho, existe uma diferença conceitual clara entre eles.
Entender essa distinção ajuda na hora de ler documentações técnicas e planejar códigos eficientes.
Parâmetros são as variáveis listadas entre parênteses durante a etapa de definição da função. Eles atuam como recipientes vazios ou vagas reservadas que avisam ao sistema quais tipos de informações serão exigidos.
Já os argumentos são os dados concretos que você entrega para a função no instante em que faz a chamada dela. Eles ocupam o espaço reservado pelos parâmetros e assumem os cálculos determinados dentro daquele bloco.
Python
def calcular_area(largura, altura):
area = largura * altura
print(f"Área calculada: {area} m²")
calcular_area(5, 10)
No bloco acima, largura e altura são os parâmetros declarados na estrutura, enquanto os números 5 e 10 são os argumentos enviados. O Python associa cada valor à sua respectiva posição dentro dos parênteses de forma automática.
No início dos estudos, é comum confundir a exibição de dados do comando print() com a entrega real de resultados pelo return. O print() apenas desenha caracteres na tela para o usuário ler, sem guardar nada para o sistema.
A instrução return é responsável por pegar o resultado produzido pelo processamento e devolvê-lo para o fluxo principal do script. Com isso, você consegue armazenar esse valor final dentro de outra variável e utilizá-lo mais adiante.
Python
def converter_celsius_para_fahrenheit(celsius):
fahrenheit = (celsius * 1.8) + 32
return fahrenheit
temperatura_hoje = converter_celsius_para_fahrenheit(25)
print(f"Temperatura convertida: {temperatura_hoje}°F")
Em muitas situações da programação, você vai querer que um parâmetro assuma um valor prévio caso o usuário não envie nada. Para configurar esse recurso, basta associar um valor diretamente na assinatura da função com o sinal de igualdade.
Isso torna o preenchimento opcional e evita que o programa quebre por ausência de dados obrigatórios na execução.
Os parâmetros com valores padrão devem vir sempre após os parâmetros convencionais na declaração da função.
Quando você não sabe previamente quantos dados o usuário vai mandar, entram em ação os famosos operadores *args e **kwargs. Eles recebem volumes dinâmicos de dados e agrupam as entradas em tuplas ou dicionários práticos.
| Recurso | Tipo Gerado | Como os Dados São Recebidos |
| Parâmetro Padrão | Valor pré-definido | Atribuído na definição caso a chamada seja vazia. |
| *args | Tupla | Recebe múltiplos argumentos posicionais extras. |
| **kwargs | Dicionário | Captura múltiplos argumentos nomeados no formato chave-valor. |
Python
def cadastrar_produto(nome, preco, estoque=0):
return {"item": nome, "valor": preco, "qtd": estoque}
print(cadastrar_produto("Mouse Sem Fio", 89.90))
print(cadastrar_produto("Teclado Mecânico", 250.00, 15))
As funções lambda são versões compactas e anônimas das rotinas convencionais do Python, escritas em apenas uma linha. Elas não utilizam a estrutura tradicional com def nem exigem um nome obrigatório para existirem no script.
A sintaxe é extremamente direta: você escreve o termo lambda, declara os parâmetros e insere uma única expressão após os dois pontos.
O retorno da operação é calculado e entregue de forma implícita, sem uso do comando return.
Python
dobro = lambda x: x * 2
print(dobro(8))
Apesar de práticas, as expressões lambda não substituem funções convencionais em rotinas com lógicas complexas ou muitas condicionais. Elas foram pensadas especificamente para operações breves e de descarte rápido dentro do fluxo do código.
O conceito de escopo determina exatamente em quais partes do seu programa uma variável pode ser visualizada e manipulada. Entender essa fronteira invisível evita comportamentos inesperados e erros difíceis de rastrear na execução.
Toda variável criada dentro do bloco de uma função possui o chamado escopo local. Isso significa que ela nasce quando a rotina começa, opera durante o processamento interno e deixa de existir assim que a execução termina.
Python
taxa = 1.15 # Escopo Global
def aplicar_taxa(preco):
desconto = 0.05 # Escopo Local
return preco * taxa - desconto
print(aplicar_taxa(100))
# Tentar executar print(desconto) aqui geraria um erro no programa
Por outro lado, variáveis definidas na raiz do arquivo principal pertencem ao escopo global e podem ser lidas por qualquer função.
No entanto, alterar diretamente uma variável global dentro de uma função local exige o uso explícito da instrução global.
Modificar estados globais dentro de funções não é uma prática recomendada por profissionais de engenharia de software.
Se você quer aprender Python do zero ao avançado, com projetos reais e suporte de carreira, conte com a Allevo Tech.
Na plataforma, você encontra trilhas de aprendizado personalizadas e mentorias com especialistas na área que vão te levar do zero ao domínio absoluto da programação.
Além disso, só na Allevo Tech, você garante certificações a cada novo módulo concluído, garantindo que os seus conhecimentos sejam reconhecidos no mercado de trabalho.
Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.


Lei exige proficiência no exame para o registro profissional de quem ingressou no curso a partir de 19 de junho de 2026.

Aprenda como usar o PROCV no Excel passo a passo. Entenda as regras da matriz, evite os erros e descubra como aplicar a busca em relatórios

Descubra qual é o número padrão da porta MySQL, como verificar a configuração atual, alterar o acesso e proteger seu banco de dados