8.1 Оператор return
У Python оператор return грає центральну роль у функціях, оскільки з його допомогою функція може повернути своє значення. Розуміння його використання важливе для ефективної розробки програмного забезпечення.
Оператор return завершує виконання функції та "повертає" результат викликаючому коду. Якщо функція має видати результат, який буде використовуватись надалі, використовують return.
Повернення значення
Функції можуть повертати будь-який тип даних, включно з числами, рядками, об'єктами, навіть іншими функціями і None. Приклад:
def sum(a, b):
return a + b
result = sum(5, 3)
print(result) # Виведе 8
Результат додавання a + b може бути присвоєний змінній result.
Повернення множинних значень
Python дозволяє повертати кілька значень з функції за допомогою кортежів:
def get_user():
name = "Іван"
age = 25
return name, age
user_name, user_age = get_user()
print(user_name, user_age) # Виведе Іван 25
Використання return для завершення функції
Оператор return також може бути використаний для негайного завершення функції, включаючи цикли або умовні блоки всередині функції:
def check_password(pswd):
if len(pswd) < 8:
return "Занадто короткий пароль"
return "Пароль прийнято"
return без значення
Якщо return використовується без значення або взагалі опущений, функція повертає None:
def print_message(text):
print(text)
return
result = print_message("Привіт")
print(result) # Виведе None
Оператор return є потужним інструментом у Python, забезпечуючи гнучкість у керуванні потоком виконання програми. Він дозволяє функціям не тільки повертати значення для подальшого використання, але і контролювати логіку виконання, що робить код чистішим і простішим для розуміння.
8.2 Оператор pass
У Python є спеціальний оператор — pass, який нічого не робить. Оператор pass використовується як заповнювач у блоках коду, де синтаксично необхідно вміст, але функціонально він ще не визначений (має бути якийсь код, але поки що не придумали який).
Це особливо корисно в випадках, коли ви працюєте над великим проєктом і хочете структурувати програму, не даючи їй виконувати будь-які операції. Нижче наведені кілька прикладів використання pass.
У визначеннях функцій:
def my_function():
pass
Тут pass використовується для визначення функції, яка поки що не має реалізації.
У циклах та умовах:
for item in my_list:
pass
Якщо необхідно створити цикл, але не потрібно виконувати жодні дії в його тілі.
У класах:
Визначення класу без методів та атрибутів, щоб зарезервувати назву та структуру класу для майбутнього використання.
Оператор pass часто використовується в процесі розробки та тестування, коли структура програми вже чітка, але деталі реалізації окремих компонентів ще не визначені. Це дозволяє програмісту організувати код і поступово додавати функціональність без порушення роботи застосунку в цілому.
8.3 Повернення функції
У Python можливість функції повертати іншу функцію є потужним інструментом, завдяки підтримці замикання* та функцій першого класу. Ця особливість мови дозволяє розробляти гнучкі та виразні програми, використовуючи такі концепції, як декоратори* і фабрики функцій*.
У Python функції є об'єктами, що означає, що вони можуть бути присвоєні змінним, передані іншим функціям як аргументи або повернені з них як результати. Ця можливість робить функції виключно потужними інструментами для створення модульного та легко тестованого коду.
Давайте заради прикладу створимо функцію, яка буде генерувати нам функції для піднесення в степінь. Одна функція буде підносити в квадрат, інша в куб і т.п. Ось як може виглядати такий код:
def power(exponent):
def inner(base):
return base ** exponent
return inner
square = power(2)
print(square(3)) # Виводить 9
cube = power(3)
print(cube(3)) # Виводить 27
Зверни увагу — функція power не викликає функцію inner. Натомість у середині функції power оголошена функція inner з параметром base. Але функція inner не просто оголошена, вона використовує параметр exponent у себе всередині.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ