Saltar para o conteúdo principal
Publicado em

Argumentos Flexíveis em Python

Partilhar:

Introdução

Em Python, muitas vezes deparamo-nos com situações em que o número de argumentos que uma função deve aceitar não é fixo. Para esses casos, o Python oferece uma forma de definir funções com argumentos flexíveis.

Compreendendo Argumentos Flexíveis

Os argumentos flexíveis permitem passar um número arbitrário de argumentos para uma função. Isto é particularmente útil quando não sabemos antecipadamente quantos argumentos precisarão de ser passados.

Sintaxe Básica

A sintaxe para definir uma função com argumentos flexíveis é simples: basta prefixar o nome do argumento com o símbolo *.

def imprimirArgumentos(*argumentos):
  for argumento in argumentos:
    print('Argumento:', argumento)

imprimirArgumentos('Eu sou uma string.', 1, 1.5, True, ['ABC', 'DEF', 'GHI'])

Como funciona?

Quando se prefixa o nome do argumento com *, este é tratado como uma tupla, que pode conter qualquer número de valores. Assim, é possível passar quantos argumentos se quiser para a função, e estes serão tratados como uma única tupla.

Argumentos Flexíveis e Argumentos Nomeados

É possível combinar argumentos flexíveis com argumentos nomeados. No entanto, os argumentos flexíveis devem vir antes dos argumentos nomeados.

def imprimirDados(*dados, nome=None, idade=None):
  for dado in dados:
    print('Dado:', dado)

    if nome:
      print('Nome:', nome)

    if idade:
      print('Idade:', idade)

imprimirDados(1, 2, 3, nome="Nelson", idade=28)

Conclusão

Os argumentos flexíveis em Python são uma poderosa ferramenta para tornar as suas funções mais adaptáveis e versáteis. Oferecem uma forma limpa e eficiente de lidar com um número desconhecido de argumentos, tornando o seu código mais robusto e flexível.

Happy coding!