Funções

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

  1. Qual é a palavra-chave usada para definir uma função em Python?

    • a) function
    • b) def
    • c) función
    • d) define
  2. 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
  3. Como se define uma função anónima em Python?

    • a) function
    • b) def
    • c) lambda
    • d) anonymous
  4. 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.
<< Ciclos Índice Listas, variáveis e dicio... >>