O que são funções em Python?
Em programação, uma função é um bloco de código que executa uma tarefa específica. Mas a tarefa só é executada quando a função é chamada.
Funções são um conceito essencial em Python. Elas operam como blocos independentes que podem ser executados várias vezes em diferentes partes de um programa. As funções em Python permitem dividir tarefas complexas em partes menores e gerenciáveis. Essa modularização melhora a organização e a reutilização dos códigos. Isso reduz a repetição de blocos de códigos e economiza tempo de desenvolvimento. As funções também fornecem abstração, ocultando detalhes de implementação complexos e expondo apenas as informações necessárias.
A estrutura básica de uma função em Python
Uma função Python consiste nos seguintes elementos:
Nome da função: ele é um identificador exclusivo atribuído à função.
Parâmetros ou argumentos (opcional): valores de entrada passados para a função quando ela é chamada.
Bloco de código: o código real executado dentro da função.
Valor retornado (opcional): a saída ou o resultado produzido pela função.
def minha_func(argumento):
'''
define bloco de código recuado aqui
'''
return valor_retornado
Como criar uma função em Python
Em Python, uma função é definida usando a palavra-chave def seguida pelo nome da função e parênteses. O nome da função precisa ser exclusivo. Termine a linha com dois pontos.
Argumentos ou parâmetros são inseridos nos parênteses da função. Eles são dados que podem ser necessários para executar o bloco de código da função. Nem toda função tem argumentos.
Escreva o corpo da função recuado.
Veja um exemplo básico:
def diga_oi(nome):
"""Imprime uma mensagem de saudação personalizada."""
print(f"Oi, {nome}!")
Para chamar uma função, use o seu nome seguido de parênteses. Se a função requer argumentos, eles precisam ser passados nos parênteses:
# Chama a função com um argumento
diga_oi("Maria")
# resultado: Oi, Maria!
Neste exemplo, ‘diga_oi’ é o nome da função. ‘nome’ é um parâmetro/argumento. O bloco de código no corpo da função imprime uma mensagem de saudação usando f-strings. Nenhum valor de retorno é especificado, o que significa que a função não produz uma saída.
Argumentos
No exemplo acima, a função possui um argumento (nome). Ele é devidamente passado quando a função é chamada.
Argumentos são informações que podem ser passadas para funções. Eles são especificados após o nome da função, dentro dos parênteses. Você pode adicionar quantos argumentos quiser, basta separá-los com uma vírgula. O exemplo a seguir tem uma função com dois argumentos (primeiro nome e sobrenome). Quando a função é chamada, passamos ambos os argumentos para serem usados dentro da função. Ela irá imprimir o nome completo:
def diga_oi(primeiro_nome, sobrenome):
"""Imprime uma mensagem de saudação personalizada."""
print(f"Oi, {primeiro_nome} {sobrenome}!")
# Chama a função com dois argumentos
diga_oi("Maria", "da Silva")
# resultado: Oi, Maria da Silva!
Abaixo, veja um exemplo modificado onde o argumento não é necessário.
def diga_oi():
"""Imprime uma mensagem de saudação."""
print("Oi!")
# Chama a função sem argumento
diga_oi()
# resultado: Oi!
Neste caso, o argumento não é necessário, pois o bloco de código da função já contém todas as informações para ser executado.
Função com retorno e sem retorno
Quando é preciso que a função retorne um valor para ser usado em outras partes do código, é necessário usar a palavra-chave return seguida do valor.
def calcula_desconto(valor, desconto):
"""Calcula valor final com desconto"""
valor_com_desconto = valor - valor * (desconto/100)
return valor_com_desconto
# Chama a função com retorno
valor = 100
desconto = 10 # 10%
valor_com_desconto = calcula_desconto(valor, desconto)
print(valor_com_desconto)
# resultado: 90.0
Neste exemplo, a função calcula_desconto recebe dois argumentos, um valor e um desconto em porcentagem. Ela retorna o valor final calculado.
Uma função pode ter múltiplos valores retornados. Eles precisam ser separados com vírgulas. Veja um exemplo:
def calcula_desconto(valor, desconto1, desconto2):
"""Calcula valor final com desconto com 2 formas de pagamento"""
valor_com_desconto_a_vista = valor - valor * (desconto1/100)
valor_com_desconto_30_dias = valor - valor * (desconto2/100)
return valor_com_desconto_a_vista, valor_com_desconto_30_dias
# Chama a função
valor = 100
desconto_a_vista = 10 # 10%
desconto_pagamento_30_dias = 5 # 5%
valor_com_desconto1, valor_com_desconto2 = calcula_desconto(valor, desconto_a_vista, desconto_pagamento_30_dias)
print("Valor para pagamento à vista:", valor_com_desconto1, "Valor para pagamento em 30 dias:", valor_com_desconto2)
# resultados: Valor para pagamento à vista: 90.0 Valor para pagamento em 30 dias: 95.0
No exemplo acima, a função recebe três argumentos: o valor original de um produto e dois valores de desconto para formas diferentes de pagamento. Ela retorna os valores dos produtos calculados para cada desconto.
Conclusão
As funções em Python são um bloco de construção fundamental. Ao entender como as funções funcionam e utilizá-las eficazmente, a escrita de códigos se torna mais eficiente, modular e sustentável.
Veja também:
Concatenações com join() para strings em Python
O que é operador ternário em Python?
F-strings em Strings Multilinhas
Decodificação de strings em Python com decode()
Métodos para Manipular Strings em Python
Módulo Getpass para Prompts de Senhas
Aprenda a comparar textos com Python com Difflib
Módulo textwrap para formatação de textos
Manipulação de arquivos com Python
os.environ: gerenciamento de variáveis de ambiente com Python
Métodos Avançados Do Módulo os
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.