Funções

Funções

As funções são blocos de código que realizam uma tarefa específica e que podem ser reutilizados ao longo do seu programa. Em Python, as funções são definidas usando a palavra-chave def, seguida por um nome, parênteses e, finalmente, um dois-pontos.

Estrutura Básica de uma Função

A estrutura básica de uma função em Python é a seguinte:

def nome_da_funcao(parametros):
    # bloco de código
    return resultado

Vamos criar uma função simples que soma dois números:

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

Podemos chamar esta função passando os valores como argumentos:

resultado = soma(3, 4)
print(resultado)  # Saída: 7

Parâmetros e Argumentos

As funções podem ter zero ou mais parâmetros. Parâmetros são as variáveis listadas entre os parênteses na definição da função. Argumentos são os valores que você passa para esses parâmetros quando chama a função.

Exemplos de Funções com Parâmetros

Aqui está uma função que calcula a área de um rectângulo:

def area_retangulo(comprimento, largura):
    return comprimento * largura

E chamamos esta função da seguinte forma:

area = area_retangulo(5, 3)
print(area)  # Saída: 15

Funções com Parâmetros Default

Você pode definir valores padrão para os parâmetros de uma função. Isto é útil para dar comportamento padrão aos parâmetros quando nenhum argumento é fornecido.

def saudacao(nome, mensagem="Olá"):
    return f"{mensagem}, {nome}!"

# Usando o valor default para 'mensagem'
print(saudacao("Maria"))  # Saída: Olá, Maria!

# Fornecendo um valor para 'mensagem'
print(saudacao("Pedro", "Bom dia"))  # Saída: Bom dia, Pedro!

Funções Aninhadas

É possível definir funções dentro de outras funções. Estas são chamadas funções aninhadas.

def pai():
    print("Esta é a função pai.")
    
    def filho():
        print("Esta é a função filho.")
        
    filho()

pai()
# Saída:
# Esta é a função pai.
# Esta é a função filho.

Funções Lambda

As funções lambda são formas curtas de escrever funções anónimas em Python. Elas são úteis quando precisa de uma pequena função que será utilizada apenas uma vez.

soma = lambda x, y: x + y
print(soma(2, 3))  # Saída: 5

Lembre-se que as funções lambda têm limitações quanto à complexidade. Elas devem ser simples e ter apenas uma expressão.

Exemplos Práticos de Uso de Funções

Verificação de Número Par

Escreva uma função que verifique se um número é par:

def e_par(numero):
    return numero % 2 == 0

print(e_par(4))  # Saída: True
print(e_par(7))  # Saída: False

Cálculo da Média de uma Lista de Números

Escreva uma função que calcula a média dos números numa lista:

def media(numeros):
    total = sum(numeros)
    contagem = len(numeros)
    return total / contagem

print(media([1, 2, 3, 4, 5]))  # Saída: 3.0

Resumo

Nesta secção, explorámos o conceito de funções em Python. As funções permitem-nos encapsular e reutilizar código, tornando o nosso desenvolvimento mais eficiente e organizado. Aprendemos a definir funções, utilizar parâmetros, valores default, funções aninhadas e também funções lambda.

Questionário

1. Como se define uma função em Python? A. com a palavra-chave function
B. com a palavra-chave def
C. com a palavra-chave func

2. O que são argumentos em uma função? A. São os valores usados na definição da função
B. São os valores passados para a função quando ela é chamada
C. São as variáveis dentro do bloco da função

3. Qual é a saída da função saudacao("João") com a definição def saudacao(nome, mensagem="Olá"):? A. Olá, João!
B. Olá, Olá!
C. João, Olá!

4. É possível definir funções dentro de outras funções? A. Sim
B. Não

5. O que faz a função lambda lambda x, y: x * y? A. Soma dois números
B. Multiplica dois números
C. Subtrai dois números

<< Entrada e Saída de Dados Índice Introdução à Programação... >>