*args
em funções
Em Python, muitas vezes você precisa lidar com funções que podem ter um número variável de argumentos. Para lidar com essa flexibilidade, a linguagem oferece o uso do parâmetro *args
.
Definição
O *args
(argumentos não nomeados) é um recurso que permite passar um número variável de argumentos não nomeados para uma função. O asterisco (*) antes de “args” indica que os argumentos serão empacotados em uma tupla dentro da função.
def minha_funcao(*args):
for arg in args:
print(arg)
minha_funcao(1, 2, 3) # Saída: 1 2 3
minha_funcao('a', 'b') # Saída: a b
O uso do *args
é útil quando você não sabe quantos argumentos serão passados para a função.
Benefícios e Flexibilidade
O uso do *args
oferece flexibilidade ao permitir que você crie funções que podem trabalhar com diferentes números de argumentos. Isso é particularmente útil quando você deseja criar funções genéricas que podem ser aplicadas a uma variedade de cenários.
def somar(*args):
total = 0
for num in args:
total += num
return total
print(somar(1, 2, 3)) # Saída: 6
print(somar(10, 20, 30)) # Saída: 60
print(somar(5, 10, 15, 20))# Saída: 50
Importante considerar
-
O nome “args” é uma convenção, mas o uso do asterisco (
*
) é crucial para que o Python saiba que você está empacotando os argumentos em uma tupla. -
Você pode combinar o uso de
*args
com outros parâmetros nomeados na definição da função. No entanto,*args
deve sempre ser o último na lista de parâmetros.
def minha_funcao(a, b, *args, c=0):
# Código da função
O uso de *args
torna suas funções mais dinâmicas e adaptáveis, permitindo que elas lidem eficientemente com diferentes quantidades de argumentos sem a necessidade de definir todos os parâmetros antecipadamente.