Зміст курсу
Підручник з функцій Python
1. Що Таке Функція в Python?
2. Специфікація Аргументів Функції
Підручник з функцій Python
Довільні аргументи
Ми вже розглянули позиційні та необов'язкові аргументи функції. А що робити, коли аргументів багато, або ми не знаємо всіх аргументів, які потрібно передати функції? Ми можемо вирішити цю проблему за допомогою довільних аргументів (аргументів змінної довжини). Ці аргументи дозволяють функції приймати довільну кількість аргументів. Це корисно, коли ви хочете визначити функцію, котра може приймати змінну кількість вхідних значень без заздалегідь визначеної кількості аргументів.
Примітка
Зверніть увагу, що кожен аргумент може бути структурою даних - списком, словником тощо. Ви можете передати довільну кількість таких структур, використовуючи довільні аргументи.
В Python ви можете визначити довільні аргументи як один позиційний аргумент, використовуючи зірочку *
перед ім'ям аргументу. Ось приклад:
У коді вище ми використали *
, щоб заявити, що змінна values
містить кілька довільних аргументів і має бути інтерпретована як кортеж. Потім ми використали вбудовану функцію sum
, щоб обчислити суму. Ми можемо побачити, що результат є правильним для всіх прикладів, і нам не потрібно прямо вказувати кількість аргументів. Зверніть увагу, що ми використовуємо цей аргумент за ім'ям без *
у тілі функції.
Примітка
Щоб визначити кортеж довільних аргументів, достатньо використати
*
перед ім'ям аргумента. Але рекомендується використовувати конструкцію*args
. Це підвищує інтерпретованість та читабельність коду.
Параметр *args
дозволяє передавати змінну кількість аргументів у функцію. Ці аргументи зберігаються в кортежі. Наприклад, коли викликається функція з різною кількістю аргументів, *args
збиратиме всі їх в єдиний кортеж, незалежно від того, чи передані якісь значення чи ні. Ось приклад:
Як ви можете побачити з результатів:
- Якщо функцію викликано без аргументів,
args
буде порожнім кортежем()
; - Якщо функцію викликано з одним аргументом,
args
буде кортежем з одним елементом(1,)
; - Якщо функцію викликано з кількома аргументами, всі вони зберігаються у кортежі, наприклад
(1, 2, 3, 'hello', [4, 5, 6])
.
Отже, використовуючи *args
, ви можете працювати зі значеннями так само, як і з будь-яким іншим кортежем у Python.
Завдання
Напишіть функцію, яка розраховує середнє значення довільної кількості аргументів. Використовуйте args
як назву довільного аргумента.
Все було зрозуміло?
Зміст курсу
Підручник з функцій Python
1. Що Таке Функція в Python?
2. Специфікація Аргументів Функції
Підручник з функцій Python
Довільні аргументи
Ми вже розглянули позиційні та необов'язкові аргументи функції. А що робити, коли аргументів багато, або ми не знаємо всіх аргументів, які потрібно передати функції? Ми можемо вирішити цю проблему за допомогою довільних аргументів (аргументів змінної довжини). Ці аргументи дозволяють функції приймати довільну кількість аргументів. Це корисно, коли ви хочете визначити функцію, котра може приймати змінну кількість вхідних значень без заздалегідь визначеної кількості аргументів.
Примітка
Зверніть увагу, що кожен аргумент може бути структурою даних - списком, словником тощо. Ви можете передати довільну кількість таких структур, використовуючи довільні аргументи.
В Python ви можете визначити довільні аргументи як один позиційний аргумент, використовуючи зірочку *
перед ім'ям аргументу. Ось приклад:
У коді вище ми використали *
, щоб заявити, що змінна values
містить кілька довільних аргументів і має бути інтерпретована як кортеж. Потім ми використали вбудовану функцію sum
, щоб обчислити суму. Ми можемо побачити, що результат є правильним для всіх прикладів, і нам не потрібно прямо вказувати кількість аргументів. Зверніть увагу, що ми використовуємо цей аргумент за ім'ям без *
у тілі функції.
Примітка
Щоб визначити кортеж довільних аргументів, достатньо використати
*
перед ім'ям аргумента. Але рекомендується використовувати конструкцію*args
. Це підвищує інтерпретованість та читабельність коду.
Параметр *args
дозволяє передавати змінну кількість аргументів у функцію. Ці аргументи зберігаються в кортежі. Наприклад, коли викликається функція з різною кількістю аргументів, *args
збиратиме всі їх в єдиний кортеж, незалежно від того, чи передані якісь значення чи ні. Ось приклад:
Як ви можете побачити з результатів:
- Якщо функцію викликано без аргументів,
args
буде порожнім кортежем()
; - Якщо функцію викликано з одним аргументом,
args
буде кортежем з одним елементом(1,)
; - Якщо функцію викликано з кількома аргументами, всі вони зберігаються у кортежі, наприклад
(1, 2, 3, 'hello', [4, 5, 6])
.
Отже, використовуючи *args
, ви можете працювати зі значеннями так само, як і з будь-яким іншим кортежем у Python.
Завдання
Напишіть функцію, яка розраховує середнє значення довільної кількості аргументів. Використовуйте args
як назву довільного аргумента.
Все було зрозуміло?