Параметр — це значення, яке приймає функція. Аргумент — це значення, яке передається у функцію під час її виклику у програмі.
Розглянемо приклад використання параметрів функції в Python:
|
1 2 3 4 5 |
def add_numbers(a, b): sum = a + b print('Sum:', sum) add_numbers(2, 3) |
Результат:
Sum: 5
Тут функція add_numbers() приймає два параметри: a та b. Зверніть увагу на наступний рядок коду:
|
1 |
add_numbers(2, 3) |
Параметри a та b отримають відповідні значення 2 та 3.
Параметри зі значеннями за замовчуванням
У Python за допомогою оператора = ми можемо вказати значення за замовчуванням для параметрів функції. Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
def add_numbers( a = 7, b = 8): sum = a + b print('Sum:', sum) # Виклик функції з 2 аргументами add_numbers(2, 3) # Виклик функції з 1 аргументом add_numbers(a = 2) # Виклик функції без надання аргументів add_numbers() |
Результат:
Sum: 5
Sum: 10
Sum: 15
Зверніть увагу на визначення функції:
|
1 2 |
def add_numbers(a = 7, b = 8): ... |
Тут ми вказали значення за замовчуванням 7 та 8 для параметрів a та b відповідно. Ось як працює ця програма:
add_number(2, 3) — під час виклику функції передаються обидва значення. Отже, ці значення використовуються замість значень за замовчуванням.
add_number(2) — під час виклику функції передається лише одне значення. Параметру a надається значення 2, а для параметра b використовується значення за замовчуванням.
add_number() — під час виклику функції значення не передаються. Отже, для обох параметрів a та b використовуються значення за замовчуванням.
Іменовані аргументи в Python
Іменовані аргументи є парою “ім’я-значення”, що передається функції. Ім’я та значення пов’язуються з аргументом напряму, тому при передачі аргументу плутанини з порядком не виникає. Наприклад:
|
1 2 3 4 5 |
def display_info(first_name, last_name): print('First Name:', first_name) print('Last Name:', last_name) display_info(last_name = 'Cartman', first_name = 'Eric') |
Результат:
First Name: Eric
Last Name: Cartman
Зверніть увагу на виклик функції:
|
1 |
display_info(last_name = 'Cartman', first_name = 'Eric') |
Тут ми вказали як імена аргументів, так і їх значення під час виклику функції.
Відповідно, аргумент first_name у виклику функції стає параметром first_name у визначенні функції. Так само аргумент last_name у виклику функції стає параметром last_name у визначенні функції.
У таких сценаріях порядок надання аргументів немає значення.
Довільні аргументи в Python
Іноді ми заздалегідь не знаємо кількість аргументів, які будуть передані в функцію. Щоб впоратися з подібною ситуацією, ми можемо використовувати довільні аргументи в Python.
Довільні аргументи дозволяють передавати різну кількість значень під час виклику функції. Для вказівки даного типу аргументів використовується зірочка (*) перед ім’ям параметра у визначенні функції. Наприклад:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
def find_sum(*numbers): result = 0 for num in numbers: result = result + num print("Sum = ", result) # Виклик функції з 3 аргументами find_sum(1, 2, 3) # Виклик функції з 2 аргументами find_sum(4, 9) |
Результат:
Sum = 6
Sum = 13
Тут ми створили функцію find_sum(), яка приймає довільну кількість аргументів. Зверніть увагу на виклики функції:
|
1 2 3 |
find_sum(1, 2, 3) find_sum(4, 9) |
Ми можемо викликати ту саму функцію з різною кількістю аргументів.
Примітка: Після отримання декількох значень об’єкт numbers починає поводити себе як масив, тому ми можемо використовувати цикл for для доступу до кожного значення.
