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