Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Довільні Позиційні Аргументи | Довільні Аргументи
Quizzes & Challenges
Quizzes
Challenges
/
Підручник з Функцій Python

bookДовільні Позиційні Аргументи

Ви вже знайомі з позиційними та необов'язковими аргументами. Але коли функція може отримувати багато вхідних даних або їх кількість невідома заздалегідь, можна використовувати довільні позиційні аргументи. Вони дозволяють функції приймати будь-яку кількість значень.

Note
Примітка

Кожен аргумент може бути будь-якою структурою даних (list, dict тощо). Довільні аргументи дозволяють передавати стільки таких об'єктів, скільки потрібно.

Щоб визначити довільні позиційні аргументи, розмістіть зірочку * перед іменем параметра. Приклад:

12345678
# Define function with arbitrary positional 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

Тут *values збирає всі передані позиційні аргументи у кортеж. Усередині функції використовується ім'я змінної без *. Результат буде коректним незалежно від кількості переданих аргументів.

Note
Примітка

Хоча можна використовувати будь-яке ім'я, загальноприйнятою та зрозумілою формою є *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Як показано:

  • Без аргументів → args — це ();
  • Один аргумент → (1,);
  • Декілька аргументів → усі значення містяться у кортежі, наприклад, (1, 2, 3, 'hello', [4, 5, 6]).

*args поводиться як звичайний кортеж, забезпечуючи повну гнучкість при обробці багатьох вхідних даних.

Завдання

Swipe to start coding

Реалізуйте функцію calculate_total, яка обчислює загальну вартість товарів у кошику, застосовуючи знижки залежно від загальної суми.

  1. Використайте довільну кількість позиційних аргументів з назвою prices у функції calculate_total.
  2. Якщо аргументи не передані, поверніть "Your cart is empty.".
  3. Застосуйте знижку 20%, якщо загальна сума $200 або більше.
  4. Застосуйте знижку 10%, якщо загальна сума $100 або більше.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain the difference between positional and arbitrary positional arguments?

What happens if I mix regular arguments with *args in a function?

Can you show how to use *args with keyword arguments in the same function?

close

Awesome!

Completion rate improved to 4.17

bookДовільні Позиційні Аргументи

Свайпніть щоб показати меню

Ви вже знайомі з позиційними та необов'язковими аргументами. Але коли функція може отримувати багато вхідних даних або їх кількість невідома заздалегідь, можна використовувати довільні позиційні аргументи. Вони дозволяють функції приймати будь-яку кількість значень.

Note
Примітка

Кожен аргумент може бути будь-якою структурою даних (list, dict тощо). Довільні аргументи дозволяють передавати стільки таких об'єктів, скільки потрібно.

Щоб визначити довільні позиційні аргументи, розмістіть зірочку * перед іменем параметра. Приклад:

12345678
# Define function with arbitrary positional 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

Тут *values збирає всі передані позиційні аргументи у кортеж. Усередині функції використовується ім'я змінної без *. Результат буде коректним незалежно від кількості переданих аргументів.

Note
Примітка

Хоча можна використовувати будь-яке ім'я, загальноприйнятою та зрозумілою формою є *args.

1234567891011121314
def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Як показано:

  • Без аргументів → args — це ();
  • Один аргумент → (1,);
  • Декілька аргументів → усі значення містяться у кортежі, наприклад, (1, 2, 3, 'hello', [4, 5, 6]).

*args поводиться як звичайний кортеж, забезпечуючи повну гнучкість при обробці багатьох вхідних даних.

Завдання

Swipe to start coding

Реалізуйте функцію calculate_total, яка обчислює загальну вартість товарів у кошику, застосовуючи знижки залежно від загальної суми.

  1. Використайте довільну кількість позиційних аргументів з назвою prices у функції calculate_total.
  2. Якщо аргументи не передані, поверніть "Your cart is empty.".
  3. Застосуйте знижку 20%, якщо загальна сума $200 або більше.
  4. Застосуйте знижку 10%, якщо загальна сума $100 або більше.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 1
single

single

some-alt