Covil Do Dev

Funções em Python: Tudo o Que Você Precisa Saber

Aprenda a criar e utilizar funções em Python com este guia completo. Descubra como as funções podem tornar seu código mais eficiente, organizado e reutilizável.

Lindomar Rodrigues

Atualizado

As funções em Python são blocos de código que podem ser chamados de forma independente para realizar tarefas específicas.

Elas permitem que você separe partes do seu código em seções reutilizáveis, tornando-o mais modular e fácil de manter.

ad

Como criar funções em Python

Para criar uma função em Python, você precisa definir seu nome, argumentos e corpo.

Aqui está um exemplo básico:

def minha_funcao(arg1, arg2):
	resultado = arg1 + arg2

	return resultado

Neste exemplo, a função minha_funcao recebe dois argumentos(arg1 e arg2), depois soma esses dois valores e retorna o resultado.

Como chamar uma função em Python

Uma vez que você tenha definido uma função, pode chamá-la de qualquer lugar no seu código.

Para chamar a função minha_funcao do exemplo anterior, você pode fazer o seguinte:

resultado = minha_funcao(2, 3)

print(resultado)

Este código irá chamar a função minha_funcao com os argumentos 2 e 3, retornando o valor 5, que será impresso na tela.

Funções com argumentos padrão

Você também pode definir argumentos padrão em suas funções.

Isso significa que, se um argumento não for passado quando a função é chamada, ele assumirá um valor padrão.

Aqui está um exemplo:

def minha_funcao(arg1, arg2=5):
	resultado = arg1 + arg2

	return resultado

Neste exemplo, a função minha_funcao tem um argumento padrão arg2 definido como 5.

Se você chamar a função com apenas um argumento, esse valor passado no argumento será somado a 5.

Exemplo:

resultado = minha_funcao(10)

print(resultado)

Este código irá chamar a função minha_funcao com o argumento 10, retornando o valor 15(pois arg2 == 5 e arg1 == 10, logo arg1 + arg2 == 10 + 5 == 15), que será impresso na tela.

Funções com número variável de argumentos

Em algumas situações, pode ser útil definir funções que aceitem um número variável de argumentos.

Em Python, isso pode ser feito usando os operadores * e **.

  • *: É usado para definir argumentos posicionais variáveis.
  • **: É usado para definir argumentos de palavra-chave variáveis.

Exemplo:

def minha_funcao(*args, **kwargs):
	resultado = 0

	for arg in args:
		resultado += arg

	for kwarg in kwargs.values():
		resultado += kwarg

	return resultado

Neste exemplo, a função minha_funcao aceita um número variável de argumentos posicionais (*args) e argumentos de palavra-chave (**kwargs), após chamada ela soma todos esses valores e retorna o resultado.

Exemplo:

resultado = minha_funcao(1, 2, 3)

print(resultado)

Este código irá chamar a função minha_funcao com os argumentos 1, 2 e 3, retornando o valor 6(pois 1 + 2 + 3 == 6), que será impresso na tela.

As funções com um número variável de argumentos são úteis em muitas situações.

Aqui estão alguns exemplos de como você pode usar essas funções em Python:

Exemplo 1: Calcular a média de uma lista

Suponha que você queira escrever uma função que calcule a média de uma lista de números.

Você poderia usar uma função com um número variável de argumentos para calcular a média de uma lista de qualquer tamanho, da seguinte forma:

def media(*args):
	return sum(args) / len(args)

Ao chamar essa função com uma lista de números, a função retornará a média dos números:

>>> media(1, 2, 3)
2.0
>>> media(1, 2, 3, 4, 5)
3.0

Caso queira aprender mais sobre a função len, veja esse artigo sobre a função len em Python

Exemplo 2: Juntar duas listas

Suponha que você queira escrever uma função que junte duas listas em uma lista única.

Você poderia usar uma função com um número variável de argumentos para juntar as duas listas:

def juntar_listas(*args):
    resultado = []
    for lista in args:
        resultado += lista
    return resultado

Ao chamar essa função com duas ou mais listas, a função retornará uma única lista contendo todos os elementos das listas originais:

>>> juntar_listas([1, 2, 3], [4, 5, 6], [7, 8, 9])
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Caso queira aprender mais formas de manipular listas, veja esse artigo sobre listas e tuplas em Python

Exemplo 3: Configurar um objeto

Suponha que você esteja trabalhando em um projeto onde você precisa criar objetos de uma classe com muitos parâmetros.

Em vez de ter que especificar todos os parâmetros todas às vezes que criar um objeto, você pode usar uma função com um número variável de argumentos para configurar o objeto com os parâmetros desejados:

class Pessoa:
    def __init__(self, nome, idade, cidade, telefone):
        self.nome = nome
        self.idade = idade
        self.cidade = cidade
        self.telefone = telefone

def criar_pessoa(**kwargs):
    return Pessoa(**kwargs)

Ao chamar essa função com um dicionário contendo os parâmetros desejados, a função retornará um novo objeto Pessoa configurado com esses parâmetros:

>>> pessoa = criar_pessoa(nome="João", idade=30, cidade="São Paulo")
>>> pessoa.nome
'João'
>>> pessoa.idade
30
>>> pessoa.cidade
'São Paulo'

Conclusão

As funções são uma parte fundamental do Python e são essenciais para escrever código limpo, organizado e reutilizável.

Com este guia, você aprendeu como criar e utilizar funções em Python, bem como definir argumentos padrão e variáveis.

Agora é hora de colocar este conhecimento em prática e criar suas próprias funções para tornar seu código mais eficiente e fácil de manter.

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br