Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Python ::: Dicas & Truques ::: Métodos, Procedimentos e Funções

Como criar uma função com número variável de argumentos em Python usando *argv

Quantidade de visualizações: 713 vezes
A linguagem Python, como a maioria das linguagens de programação, permite a definição de funções que aceitam um número variável de argumentos. Um argumento é uma variável, um valor ou um objeto que passamos como entrada para um método ou função.

Nesta dica mostrarei como podemos usar a notação *argv para criar uma função Python que aceita um, dois ou vários argumentos.

Nosso exemplo será uma função somar() que aceita uma quantidade variável de números e retorna a soma deles. Veja o código:

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# uma função que aceita um número variável de argumentos
def somar(*numeros):
  # variável que vai guardar a soma dos valores
  soma = 0

  # percorremos os argumentos fornecidos
  for numero in numeros:  
    soma = soma + numero

  # retornamos a soma
  return soma

# método principal
def main():
  # vamos obter a soma de 5 números inteiros
  soma = somar(6, 2, 4, 1, 9) 
  
  # e mostramos o resultado
  print("A soma dos valores é: {0}".format(soma))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

A soma dos valores é: 22

Note que, no parâmetro da função, eu troquei o nome *argv por *numeros. Isso é perfeitamente aceitável e deixa o propósito da função mais evidente.

Tenha em mente que *argv é uma lista, ou seja, um objeto list. Desta forma, podemos retornar a quantidade de elementos fornecidos como argumento por meio da função len(). Veja:

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# uma função que aceita um número variável de argumentos
def calcular_media(*numeros):
  # variável que vai guardar a soma dos valores
  soma = 0

  # percorremos os argumentos fornecidos
  for numero in numeros:  
    soma = soma + numero

  # retornamos a média
  return soma / len(numeros)

# método principal
def main():
  # vamos obter a média de 5 números inteiros
  media = calcular_media(6, 2, 4, 1, 9) 
  
  # e mostramos o resultado
  print("A média dos valores é: {0}".format(media))

if __name__== "__main__":
  main()

Ao executar este novo código Python nós teremos o seguinte resultado:

A média dos valores é: 4.4

Veja que, neste código, nós tiramos proveito da quantidade de argumentos fornecidos à função calcular_media() para calcular e retornar a média aritmética dos valores fornecidos.

Para finalizar, se tivermos uma função com vários parâmetros, o parâmetro que aceita o número variável de argumentos deve estar no final da lista de parâmetros. Não seguir esta regra pode provocar um erro do tipo:

Traceback (most recent call last):
File "c:\estudos_python\estudos.py", line 22, in <module>
main()
File "c:\estudos_python\estudos.py", line 16, in main
media = calcular_media(6, 2, 4, 1, 9, 8)
TypeError: calcular_media() missing 1 required keyword-only argument: 'valor'

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 27 usuários muito felizes estudando em nosso site.