Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Argumentos Arbitrários | Argumentos Arbitrários
Tutorial de Funções em Python
course content

Conteúdo do Curso

Tutorial de Funções em Python

Tutorial de Funções em Python

1. O Que É uma Função em Python?
2. Argumentos Posicionais e Opcionais
3. Argumentos Arbitrários
4. Especificação do Valor de Retorno da Função
5. Recursão e Funções Lambda

book
Argumentos Arbitrários

Já exploramos os argumentos posicionais e opcionais da função. No entanto, o que devemos fazer quando há inúmeros argumentos ou quando não temos certeza sobre todos os argumentos que devem ser passados para uma função? Este problema pode ser resolvido usando argumentos arbitrários (argumentos de comprimento variável). Esses argumentos permitem que uma função aceite um número indefinido de argumentos. Isso é particularmente útil quando você deseja definir uma função que pode receber um número variável de valores de entrada sem especificar o número exato de argumentos com antecedência.

Nota

Lembre-se de que cada argumento pode ser uma estrutura de dados, como uma lista ou dicionário. Você pode passar um número arbitrário de tais estruturas usando argumentos arbitrários.

Em Python, você pode definir argumentos arbitrários como um único argumento posicional colocando um asterisco * antes do nome do argumento. Aqui está um exemplo:

12345678
# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

No código acima, usamos * para declarar que a variável values contém vários argumentos arbitrários e é interpretada como uma tupla. Em seguida, usamos a função embutida sum para calcular a soma. Podemos ver que o resultado está correto para todos os exemplos, e não precisamos especificar o número de argumentos diretamente. Nota que usamos este argumento pelo nome sem * no corpo da função.

Nota

Para definir uma tupla de argumentos arbitrários, basta usar * antes do nome do argumento. No entanto, é recomendado usar a construção *args. Isso melhora a interpretabilidade e a legibilidade do código.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Como você pode ver nos resultados:

  • Quando a função é chamada sem nenhum argumento, args será uma tupla vazia ().
  • Quando a função é chamada com um argumento, args será uma tupla com um elemento (1,).
  • Quando a função é chamada com múltiplos argumentos, todos eles são armazenados na tupla, por exemplo (1, 2, 3, 'hello', [4, 5, 6]).

Com *args, você pode trabalhar com os valores da mesma forma que faria com qualquer outra tupla em Python.

Tarefa
test

Swipe to show code editor

Escreva uma função que calcule o valor médio de um número arbitrário de argumentos. Use args como o nome de um argumento arbitrário.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
toggle bottom row

book
Argumentos Arbitrários

Já exploramos os argumentos posicionais e opcionais da função. No entanto, o que devemos fazer quando há inúmeros argumentos ou quando não temos certeza sobre todos os argumentos que devem ser passados para uma função? Este problema pode ser resolvido usando argumentos arbitrários (argumentos de comprimento variável). Esses argumentos permitem que uma função aceite um número indefinido de argumentos. Isso é particularmente útil quando você deseja definir uma função que pode receber um número variável de valores de entrada sem especificar o número exato de argumentos com antecedência.

Nota

Lembre-se de que cada argumento pode ser uma estrutura de dados, como uma lista ou dicionário. Você pode passar um número arbitrário de tais estruturas usando argumentos arbitrários.

Em Python, você pode definir argumentos arbitrários como um único argumento posicional colocando um asterisco * antes do nome do argumento. Aqui está um exemplo:

12345678
# Define function with arbitrary arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
copy

No código acima, usamos * para declarar que a variável values contém vários argumentos arbitrários e é interpretada como uma tupla. Em seguida, usamos a função embutida sum para calcular a soma. Podemos ver que o resultado está correto para todos os exemplos, e não precisamos especificar o número de argumentos diretamente. Nota que usamos este argumento pelo nome sem * no corpo da função.

Nota

Para definir uma tupla de argumentos arbitrários, basta usar * antes do nome do argumento. No entanto, é recomendado usar a construção *args. Isso melhora a interpretabilidade e a legibilidade do código.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Como você pode ver nos resultados:

  • Quando a função é chamada sem nenhum argumento, args será uma tupla vazia ().
  • Quando a função é chamada com um argumento, args será uma tupla com um elemento (1,).
  • Quando a função é chamada com múltiplos argumentos, todos eles são armazenados na tupla, por exemplo (1, 2, 3, 'hello', [4, 5, 6]).

Com *args, você pode trabalhar com os valores da mesma forma que faria com qualquer outra tupla em Python.

Tarefa
test

Swipe to show code editor

Escreva uma função que calcule o valor médio de um número arbitrário de argumentos. Use args como o nome de um argumento arbitrário.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
We're sorry to hear that something went wrong. What happened?
some-alt