Pular para o conteúdo principal
Publicado em

Argumentos Flexíveis em Python

Compartilhar:

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, o 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

Você 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 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 seu código mais robusto e flexível.

Happy coding!