Ícone do site Cafeína Codificada

Funções em Python

Funções são blocos de códigos que podemos identificá-los por um determinado nome e passar parâmetros predeterminados.

Veja a sintaxe de uma função:

def minhaFuncao (parametro1, parametro2="valorPadrao") :
    """
    Doc String da minha função.
    """

    # Aqui fica o bloco de código.

    return algumValor # Opcional.

Os parâmetros que tiverem valores padrão deverão ficar após os parâmetros que não possuírem um valor padrão. No exemplo acima, temos o parâmetro parametro2 que tem o valor padrão “valorPadrao”. Por isso ele fica após o parâmetro parametro1. Devemos ressaltar também que o valor do padrão do parâmetro é calculado na definição da função.

Veja agora um exemplo da implementação de uma função que calcula o fatorial de um determinado número:

def fatorial(numero) :
    """
    Função para calcular o fatorial de um determinado número.
    """

    numero = numero if numero > 1 else 1
    indice = 1

    for contador in range(1, numero + 1) :
        indice = indice * contador

    return indice

# Vamos testar nossa função:
print("O fatorial de 6 é", fatorial(6))

# Resultado:
# O fatorial de 6 é 720

Os argumentos passados sem identificador são recebidos pela função no formato de lista, enquanto os argumentos passados com identificador, são recebidos como forma de dicionário. Os parâmetros que forem passados com identificador na chamada da função, deverão vir no final da lista de parâmetros.

Podem acontecer situações com qual precisamos passar um número variável de argumentos para um função. Para isso usamos a seguinte sintaxe nos parâmetros:

*parametro => Recebe os parâmetros que foram passados sem identificador em forma de lista.

**parametro => Recebe os parâmetros que foram passados com identificador em forma de dicionário.

Vejamos um exemplo:

def minhaFuncao(*argumentos, **argumentosIndentificados) :
    print(argumentos)
    print(argumentosIndentificados)
    
minhaFuncao('bola', 'carro', nome='Victor')

# Resultado do processamento:
# ('bola', 'carro')
# {'nome': 'Victor'}
Sair da versão mobile