Publicado em

Argumentos Flexíveis em Python

Partilhar:

Introdução

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

Compreendendo Argumentos Flexíveis

Os argumentos flexíveis permitem que você passe um número arbitrário de argumentos para uma função. Isso é particularmente útil quando não sabemos antecipadamente quantos argumentos precisarão 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 você prefixa o nome do argumento com *, ele é tratado como uma tupla, que pode conter qualquer número de valores. Portanto, pode-se passar quantos argumentos quiser para a função, e eles serão tratados como uma única tupla.

Argumentos Flexíveis e Argumentos Nomeados

Pode 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

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

Happy coding!