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

bookArgumentos Arbitrários

Você já explorou argumentos posicionais e opcionais. Mas e se uma função tiver muitos argumentos ou se você não souber todos eles com antecedência? É possível lidar com isso utilizando argumentos arbitrários (argumentos de comprimento variável). Esses argumentos permitem que uma função aceite qualquer quantidade de entradas, tornando-a flexível e adaptável.

Note
Nota

Lembre-se de que cada argumento pode ser uma estrutura de dados, como uma lista ou dicionário. É possível passar uma quantidade arbitrária dessas estruturas utilizando argumentos arbitrários.

Em Python, é possível definir argumentos arbitrários como um único argumento posicional, colocando um asterisco * antes do nome do argumento. Veja 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, o * indica que a variável values pode conter múltiplos argumentos arbitrários, que são tratados como uma tupla. A função embutida sum() é então utilizada para calcular o total. O resultado está correto para todos os exemplos, e não é necessário especificar explicitamente o número de argumentos. Nota: utilize este argumento pelo nome, sem o *, dentro do corpo da função.

Note
Nota

Para definir uma tupla de argumentos arbitrários, basta utilizar * antes do nome do argumento. No entanto, é recomendado utilizar 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 pode ser observado nos resultados:

  • Quando a função é chamada sem argumentos, 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, é possível manipular os valores da mesma forma que qualquer outra tupla em Python.

Tarefa

Swipe to start coding

Implemente uma função calculate_total que calcula o preço total dos itens em um carrinho, aplicando descontos com base no valor total.

  1. Utilize argumentos arbitrários chamados prices na função calculate_total.
  2. Se nenhum argumento for fornecido, retorne "Your cart is empty.".
  3. Aplique um desconto de 20% se o total for $200 ou mais.
  4. Aplique um desconto de 10% se o total for $100 ou mais.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 4.35

bookArgumentos Arbitrários

Deslize para mostrar o menu

Você já explorou argumentos posicionais e opcionais. Mas e se uma função tiver muitos argumentos ou se você não souber todos eles com antecedência? É possível lidar com isso utilizando argumentos arbitrários (argumentos de comprimento variável). Esses argumentos permitem que uma função aceite qualquer quantidade de entradas, tornando-a flexível e adaptável.

Note
Nota

Lembre-se de que cada argumento pode ser uma estrutura de dados, como uma lista ou dicionário. É possível passar uma quantidade arbitrária dessas estruturas utilizando argumentos arbitrários.

Em Python, é possível definir argumentos arbitrários como um único argumento posicional, colocando um asterisco * antes do nome do argumento. Veja 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, o * indica que a variável values pode conter múltiplos argumentos arbitrários, que são tratados como uma tupla. A função embutida sum() é então utilizada para calcular o total. O resultado está correto para todos os exemplos, e não é necessário especificar explicitamente o número de argumentos. Nota: utilize este argumento pelo nome, sem o *, dentro do corpo da função.

Note
Nota

Para definir uma tupla de argumentos arbitrários, basta utilizar * antes do nome do argumento. No entanto, é recomendado utilizar 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 pode ser observado nos resultados:

  • Quando a função é chamada sem argumentos, 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, é possível manipular os valores da mesma forma que qualquer outra tupla em Python.

Tarefa

Swipe to start coding

Implemente uma função calculate_total que calcula o preço total dos itens em um carrinho, aplicando descontos com base no valor total.

  1. Utilize argumentos arbitrários chamados prices na função calculate_total.
  2. Se nenhum argumento for fornecido, retorne "Your cart is empty.".
  3. Aplique um desconto de 20% se o total for $200 ou mais.
  4. Aplique um desconto de 10% se o total for $100 ou mais.

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
single

single

some-alt