Funções em Python (def)
- Amanda Nascimento
- 16 de ago. de 2024
- 4 min de leitura
Atualizado: 30 de mar.
Criar funções são extremamente importantes quando estamos programando.
Em Python, primeiro utilizaremos:
def, toda vez que você iniciar a criação de uma função nova
2. depois do def será o nome que queremos atribuir a função para na hora que você for chamar a função, chamará pelo nome.
3. Inserir os parâmetros da função. No exemplo abaixo, quero somar um número com o outro, mas se fosse uma soma ou qualquer outra coisa que necessitasse mais parâmetros, eu iria continuar inserindo dentro do parênteses.
4. soma é o nome que estou dando a ação que python irá executar dentro da função (2ª imagem abaixo). Poderia ser qualquer nome, mas para ficar mais fácil de ler o código, coloquei soma e inseri o que Python irá fazer com os parâmetros que criei, por isso adicionei o +.
5. return para que ao executar a função retorne o resultado da soma
Após os passos acima, nossa função estará pronta e podemos chamá-la a qualquer momento.
Função Python simplificada
A forma mais simplificada de escrever uma função, sem armazenar o resultado em uma variável:

O return dentro da função, não é obrigatório mas se eu quiser fazer alguma coisa com o resultado da função, utilizo o return, caso contrário, posso inserir diretamente um print como no exemplo abaixo:
def nome (nomeuser):
print(f"Olá {nomeuser} seja bem vindo(a)! ")
nome('amanda')
Saída: Olá amanda seja bem vindo(a)!
def verifica_par(num):
if num % 2 != 0:
print("O número é ímpar")
else:
print("O número é par")
verifica_par(4)
verifica_par(5)
Saída: O número é par
O número é ímpar
Função Python armazenando resultado em uma variável
Para armazenar o resultado de uma função em uma variável, pode ser útil se você pretende adicionar mais operações ou manipulações antes de retornar o valor final.

Definindo o tipo de dados de parâmetros e resultado da função
Em Python, você pode especificar o tipo de dado esperado como parâmetro e o tipo de dado retornado pela função usando type hints . No entanto, Python não força esses tipos (diferentes de linguagens como Java ou C++), então eles servem apenas como documentação e para ferramentas de análise de código.

Parâmetros opcionais e valores padrão

Tratamento de exceções try-except
O try-except em Python é usado para solucionar problemas (erros) que possam ocorrer durante a execução do código, evitando que o programa seja interrompido. Ao colocar uma operação no bloco try, você está dizendo: "Tente executar este código. Se algo der errado, execute o bloco exceptem vez de interrupção o programa."
try:
# Código que pode gerar uma exceção
except TipoDeExcecao:
# Código a ser executado se a exceção ocorrer
Principais tipos de exceções:
ZeroDivisionError : ocorre quando você tenta dividir por zero.



ValueError : ocorre quando você tenta converter uma variável para um tipo inadequado.

TypeError : ocorre quando você usa um tipo inadequado para uma operação ou função.

IndexError : ocorre quando você tenta acessar um índice inexistente em uma lista

KeyError : ocorre quando você tenta acessar uma chave inexistente em um dicionário.

FileNotFoundError : ocorre quando você tenta abrir um arquivo que não existe.

AttributeError : ocorre quando você tenta acessar um atributo ou método que não existe em um objeto.

Tratando várias exceções

Usando else e finally com try-except
else: executa um bloco de código se nenhuma exceção ocorrer no bloco try.

finally: executa um bloco de código sempre , independentemente de uma exceção ocorrer ou não. É útil para liberar recursos, como fechar arquivos ou conexões.

Função Python com três parâmetros
Veja que no exemplo abaixo, para a minha função funcionar, precisa de três parâmetros. Os parâmetros estão definidos dentro dos parênteses neste caso como num1, num2 e num3.
def multiplicar(num1, num2, num3):
mult = num1 * num2 +num3
return mult
numero1 = 4
numero2 = 6
numero3 = 3
resultado = multiplicar(numero1,numero2, numero3)
print(resultado)


Função com While (condição de parada)

Função com For (repetição para contagem)

Função lambda
Uma função lambda é uma função anônima e de uma única linha, usada para operações curtas e rápidas. As funções lambda em Python são limitadas a expressões únicas, então não podemos usar for ou while diretamente dentro delas. No entanto, podemos contornar essa limitação usando compreensão de listas ou funções embutidas como map() e filter().
Estrutura básica da função lambda: lambda argumento: expressão


Função lambda com if (operador ternário)
Lambda permite if-else, mas não suporta múltiplas linhas.
Primeiro vem o argumento (parâmetro) que no exemplo abaixo é o x e depois vem a expressão com as condições do if.
# Verifica se um número é positivo, negativo ou zero
verificar_numero = lambda x: "Positivo" if x > 0 else "Negativo" if x < 0 else "Zero"
print(verificar_numero(5)) # Saída: Positivo
print(verificar_numero(-3)) # Saída: Negativo
print(verificar_numero(0)) # Saída: Zero
Função lambda utilizando o for
O lambda não permite for diretamente, mas podemos usar map() para aplicar a função a uma lista.
# Elevar ao quadrado cada número de uma lista
numeros = [1, 2, 3, 4, 5]
quadrados = list(map(lambda x: x**2, numeros))
print(quadrados) # Saída: [1, 4, 9, 16, 25]
Outra forma de fazer a mesma coisa usando compreensão de listas:
quadrados = [x**2 for x in numeros]
print(quadrados) # Saída: [1, 4, 9, 16, 25]
Lambda com filter() (substituindo for e if)
Podemos usar filter() para filtrar elementos de uma lista.
# Filtrar números pares de uma lista
numeros = [1, 2, 3, 4, 5, 6]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares) # Saída: [2, 4, 6]