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 *argvQuantidade 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' |
![]() |
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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |