7.1 Створення функцій
У Python створення функцій є фундаментальним аспектом програмування, який дозволяє коду бути більш модульним, повторно використовуваним і читабельним. Функції в Python визначаються за допомогою ключового слова def, за яким слідує ім'я функції та круглі дужки із параметрами.
Ви завжди можете думати про функцію як про набір команд, які об'єднали в групу і дали цій групі ім'я. Загальний вигляд оголошення функції такий:
def ім'я(параметри):
команда1
команда2
командаN
Найпростіша функція в Python може виглядати так:
def greet():
print("Hello, World!")
Виклик функції здійснюється шляхом написання її імені з круглими дужками:
greet() # Виведе: Hello, World!
Виклик функції еквівалентний тому, щоб написати її внутрішній код у місці виклику. Замість того щоб писати однаковий код знову і знову, його можна винести в окремі блоки і дати їм ім'я.
7.2 Передача аргументів у функцію
Працювати з функціями було б не так цікаво, якби вони увесь час робили одне і те ж — просто поіменований блок команд і все. Натомість функціям відразу ж придумали параметри — змінні, через які у функцію можна передавати різні значення.
Змінні всередині функції називаються параметрами функції. А значення, які в них передаються при конкретному виклику, — аргументами функції. Параметри функції просто отримують значення аргументів.
def greet(name):
print("Hello, ", name)
greet("Alice") # Виведе: Hello, Alice!
Приклад функції з двома аргументами:
def print_sum(a, b):
print(f"Сума {a} і {b} дорівнює {a + b}")
print_sum(10, 15) # Виведе: Сума 10 і 15 дорівнює 25
Ну і, звісно, як аргументи можна передавати цілі вирази:
def print_sum(a, b):
print(f"Сума {a} і {b} дорівнює {a + b}")
print_sum(10*10-123, 15//2) # Виведе: Сума -23 і 7 дорівнює -16
Корисно! Для любителів C/C++ — всі змінні в Python — це посилання з точки зору C++. Параметри функції теж. При присвоєнні значення ніколи не копіюється і не дублюється — завжди присвоюється тільки посилання.
7.3 Функція — це об'єкт
У Python функції є об'єктами першого класу, що означає, що вони можуть бути використані як будь-які інші об'єкти. Це дає розробникам потужний інструментарій для створення гнучких програмних рішень.
Функції як об'єкти
Як об'єкти першого класу, функції в Python можуть бути:
- Присвоєні змінній
- Передані як аргументи іншим функціям
- Повернені з інших функцій
- Включені в структури даних, такі як списки, словники
Приклади:
def shout(text):
return text.upper()
yell = shout
def greet(func):
greeting = func("Hello") # викликаємо функцію
print(greeting)
greet(shout)
В майбутньому ми ще не раз торкнемося цієї теми, а поки запам'ятайте — все в Python є об'єктом. Функції, класи, помилки, списки, модулі — все.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ