Лекція 6. Функції, модулі та пакети.
Сайт: | Навчально-інформаційний портал НУБіП України |
Курс: | Кросплатформне програмування (Python) |
Книга: | Лекція 6. Функції, модулі та пакети. |
Надруковано: | Гість-користувач |
Дата: | субота, 7 червня 2025, 12:50 |
Опис
1. Поняття функції
Функція — це блок коду, який виконує певне завдання і може бути викликаний за іменем.
У Python терміни функція і процедура формально не розділяються. Однак:
-
Функція — повертає значення через
return
. -
Процедура — функція, яка не повертає результат явно (або повертає
None
).
Синтаксис:
def ім'я_функції(параметри):
# тіло функції
return результат
Область бачення (scope) функції
Локальна змінна: доступна лише в межах функції.
Глобальна змінна: оголошена поза функцією, доступна в усій програмі.
x = 10 # глобальна змінна
def demo():
x = 5 # локальна змінна
print(x) # виведе 5
Замикання (closure) функції
Замикання — це функція, яка «запам’ятовує» значення змінних з оточення, в якому була створена.
def outer(x):
def inner(y):
return x + y
return inner
add_five = outer(5)
print(add_five(3)) # 8
Анонімні функції (lambda)
Функції без імені, зазвичай для коротких операцій.
square = lambda x: x ** 2
print(square(4)) # 16
Рекурсія
Функція, яка викликає сама себе.
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
2. Поняття модуля. Поняття пакету.
Модуль — це файл з кодом на Python (розширення .py
), що містить змінні, функції, класи тощо, які можна повторно використовувати в інших програмах через імпорт.
файл my_module.py
def greet():
print("Hello!")
використання
import my_module
my_module.greet()
Пакет — це каталог (папка), що містить набір пов’язаних модулів та обов’язковий файл __init__.py. Він дозволяє структурувати програму в ієрархічну систему модулів.
Файлова структура:
mypackage/
├── __init__.py
├── math_utils.py
├── string_utils.py
Приклад використання:
from mypackage import math_utils
math_utils.add(2, 3)
__init__.py
може бути порожнім або містити ініціалізаційний код.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання