Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Довільні аргументи | Arbitrary Arguments
course content

Зміст курсу

Підручник з функцій Python

Довільні аргументиДовільні аргументи

Ми вже розглянули позиційні та необов'язкові аргументи функції. А що робити, коли аргументів багато, або ми не знаємо всіх аргументів, які потрібно передати функції? Ми можемо вирішити цю проблему за допомогою довільних аргументів (аргументів змінної довжини). Ці аргументи дозволяють функції приймати довільну кількість аргументів. Це корисно, коли ви хочете визначити функцію, котра може приймати змінну кількість вхідних значень без заздалегідь визначеної кількості аргументів.

Примітка

Зверніть увагу, що кожен аргумент може бути структурою даних - списком, словником тощо. Ви можете передати довільну кількість таких структур, використовуючи довільні аргументи.

В Python ви можете визначити довільні аргументи як один позиційний аргумент, використовуючи зірочку * перед ім'ям аргументу. Ось приклад:

У коді вище ми використали *, щоб заявити, що змінна values містить кілька довільних аргументів і має бути інтерпретована як кортеж. Потім ми використали вбудовану функцію sum, щоб обчислити суму. Ми можемо побачити, що результат є правильним для всіх прикладів, і нам не потрібно прямо вказувати кількість аргументів. Зверніть увагу, що ми використовуємо цей аргумент за ім'ям без * у тілі функції.

Примітка

Щоб визначити кортеж довільних аргументів, достатньо використати * перед ім'ям аргумента. Але рекомендується використовувати конструкцію *args. Це підвищує інтерпретованість та читабельність коду.

Параметр *args дозволяє передавати змінну кількість аргументів у функцію. Ці аргументи зберігаються в кортежі. Наприклад, коли викликається функція з різною кількістю аргументів, *args збиратиме всі їх в єдиний кортеж, незалежно від того, чи передані якісь значення чи ні. Ось приклад:

Як ви можете побачити з результатів:

  • Якщо функцію викликано без аргументів, args буде порожнім кортежем ();
  • Якщо функцію викликано з одним аргументом, args буде кортежем з одним елементом (1,);
  • Якщо функцію викликано з кількома аргументами, всі вони зберігаються у кортежі, наприклад (1, 2, 3, 'hello', [4, 5, 6]).

Отже, використовуючи *args, ви можете працювати зі значеннями так само, як і з будь-яким іншим кортежем у Python.

Завдання

Напишіть функцію, яка розраховує середнє значення довільної кількості аргументів. Використовуйте args як назву довільного аргумента.

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

Секція 3. Розділ 1
toggle bottom row
course content

Зміст курсу

Підручник з функцій Python

Довільні аргументиДовільні аргументи

Ми вже розглянули позиційні та необов'язкові аргументи функції. А що робити, коли аргументів багато, або ми не знаємо всіх аргументів, які потрібно передати функції? Ми можемо вирішити цю проблему за допомогою довільних аргументів (аргументів змінної довжини). Ці аргументи дозволяють функції приймати довільну кількість аргументів. Це корисно, коли ви хочете визначити функцію, котра може приймати змінну кількість вхідних значень без заздалегідь визначеної кількості аргументів.

Примітка

Зверніть увагу, що кожен аргумент може бути структурою даних - списком, словником тощо. Ви можете передати довільну кількість таких структур, використовуючи довільні аргументи.

В Python ви можете визначити довільні аргументи як один позиційний аргумент, використовуючи зірочку * перед ім'ям аргументу. Ось приклад:

У коді вище ми використали *, щоб заявити, що змінна values містить кілька довільних аргументів і має бути інтерпретована як кортеж. Потім ми використали вбудовану функцію sum, щоб обчислити суму. Ми можемо побачити, що результат є правильним для всіх прикладів, і нам не потрібно прямо вказувати кількість аргументів. Зверніть увагу, що ми використовуємо цей аргумент за ім'ям без * у тілі функції.

Примітка

Щоб визначити кортеж довільних аргументів, достатньо використати * перед ім'ям аргумента. Але рекомендується використовувати конструкцію *args. Це підвищує інтерпретованість та читабельність коду.

Параметр *args дозволяє передавати змінну кількість аргументів у функцію. Ці аргументи зберігаються в кортежі. Наприклад, коли викликається функція з різною кількістю аргументів, *args збиратиме всі їх в єдиний кортеж, незалежно від того, чи передані якісь значення чи ні. Ось приклад:

Як ви можете побачити з результатів:

  • Якщо функцію викликано без аргументів, args буде порожнім кортежем ();
  • Якщо функцію викликано з одним аргументом, args буде кортежем з одним елементом (1,);
  • Якщо функцію викликано з кількома аргументами, всі вони зберігаються у кортежі, наприклад (1, 2, 3, 'hello', [4, 5, 6]).

Отже, використовуючи *args, ви можете працювати зі значеннями так само, як і з будь-яким іншим кортежем у Python.

Завдання

Напишіть функцію, яка розраховує середнє значення довільної кількості аргументів. Використовуйте args як назву довільного аргумента.

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

Секція 3. Розділ 1
toggle bottom row
some-alt