As funções são uma parte essencial em qualquer linguagem de programação, permitindo-nos estruturar o código de forma modular e reutilizável. Em Python, as funções são definidas utilizando a palavra-chave def
, seguida do nome da função e parêntesis que podem conter parâmetros.
Definir e chamar funções
Vamos começar com um exemplo simples:
def saudacao():
print("Olá, bem-vindo ao mundo da programação em Python!")
saudacao()
Neste exemplo, definimos a função saudacao()
que imprime uma mensagem de boas-vindas. Depois, chamamos a função utilizando o seu nome seguido de parêntesis.
Parâmetros e argumentos
As funções podem aceitar inputs na forma de parâmetros, tornando-as mais flexíveis. Vejamos um exemplo:
def saudacao_personalizada(nome):
print(f"Olá, {nome}, bem-vindo ao mundo da programação em Python!")
saudacao_personalizada("Ana")
Aqui, a função saudacao_personalizada
recebe o parâmetro nome
, que é utilizado na mensagem de saudação. Quando chamamos a função com o argumento "Ana"
, a mensagem é personalizada.
Valores de retorno
As funções podem também devolver valores usando a palavra-chave return
. Isto é útil quando precisamos que uma função realize cálculos ou processe dados e devolva o resultado.
def soma(a, b):
return a + b
resultado = soma(5, 3)
print(resultado) # Output: 8
A função soma
recebe dois parâmetros, a
e b
, e devolve a sua soma. O valor devolvido é armazenado na variável resultado
.
Funções com múltiplos retornos
Podemos fazer uma função devolver múltiplos valores utilizando tuplos (tuples):
def operacoes_basicas(a, b):
soma = a + b
diferenca = a - b
produto = a * b
quociente = a / b
return soma, diferenca, produto, quociente
s, d, p, q = operacoes_basicas(10, 2)
print(f"Soma: {s}, Diferença: {d}, Produto: {p}, Quociente: {q}")
Neste exemplo, a função operacoes_basicas
devolve a soma, diferença, produto e quociente de dois números, que são depois atribuídos a quatro variáveis diferentes.
Funções anónimas
Em Python, também podemos criar funções anónimas (ou lambda), que são úteis para funções curtas e simples. Aqui está um exemplo:
quadrado = lambda x: x * x
print(quadrado(5)) # Output: 25
A função lambda
define uma função anónima que calcula o quadrado de um número. Estas funções são especialmente úteis quando utilizadas com funções como map
, filter
e reduce
.
Aplicação prática: Calculadora simples
Vamos criar uma aplicação prática utilizando funções. Esta será uma calculadora simples que pode realizar operações básicas.
def adicionar(a, b):
return a + b
def subtrair(a, b):
return a - b
def multiplicar(a, b):
return a * b
def dividir(a, b):
if b != 0:
return a / b
else:
return "Erro! Divisão por zero não permitida."
print("Escolha a operação:")
print("1. Adicionar")
print("2. Subtrair")
print("3. Multiplicar")
print("4. Dividir")
escolha = input("Digite o número da operação (1/2/3/4): ")
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
if escolha == '1':
print(f"Resultado: {adicionar(num1, num2)}")
elif escolha == '2':
print(f"Resultado: {subtrair(num1, num2)}")
elif escolha == '3':
print(f"Resultado: {multiplicar(num1, num2)}")
elif escolha == '4':
print(f"Resultado: {dividir(num1, num2)}")
else:
print("Escolha inválida.")
Nesta aplicação, definimos quatro funções para as operações básicas da calculadora. O utilizador pode escolher uma operação e fornecer os números para receber o resultado desejado.
Resumo
Neste capítulo, aprendemos:
- Como definir e chamar funções em Python.
- A usar parâmetros e argumentos para tornar as funções mais flexíveis.
- A devolver valores de funções e a usar múltiplos retornos.
- A criar funções anónimas (lambda) para operações simples.
- A aplicar estes conhecimentos na criação de uma calculadora simples.
Quiz
-
Qual é a palavra-chave usada para definir uma função em Python?
- a) function
- b) def
- c) función
- d) define
-
Qual será o output do seguinte código?
def multiplicar(x, y): return x * y resultado = multiplicar(4, 5) print(resultado)
- a) 9
- b) 20
- c) 45
- d) Erro de compilação
-
Como se define uma função anónima em Python?
- a) function
- b) def
- c) lambda
- d) anonymous
-
O que faz a função
return
numa função em Python?- a) Devolve um valor e termina a execução da função.
- b) Executa a função novamente.
- c) Atribui um valor a uma variável.
- d) Guarda a função em memória.