Функції та модулі

Як “пакувати” код у зручні блоки, щоб не повторюватися, і як підключати готові інструменти через import.

1 Навіщо потрібні функції?

Функція — це “команда”, яку ти створюєш сам. Вона має назву і може приймати дані, робити з ними щось і повертати результат.

Без функції

Код повторюється. Якщо треба щось змінити — доведеться міняти всюди.

print("Hello, May!")
print("Hello, Olia!")
print("Hello, Ivan!")

З функцією

Один раз описуєш правило — і викликаєш скільки хочеш.

def greet(name):
    print("Hello,", name)

greet("May")
greet("Olia")
greet("Ivan")

Функції = порядок у коді

Вони роблять програму коротшою, зрозумілішою і легшою для перевірки.

2 Синтаксис: def, параметри, return

Функцію створюють через def. В дужках — параметри (вхідні дані). Через return вона може повернути результат.

functions.py
def add(a, b):
    return a + b

result = add(5, 8)
print(result)  # 13
Якщо в функції немає return, вона повертає спеціальне значення None. Це нормально для функцій, які просто друкують/показують щось.

3 Значення за замовчуванням (default)

Можна зробити параметр “необов’язковим”, задавши значення за замовчуванням.

defaults.py
def greet(name, emoji="🙂"):
    print(emoji, "Привіт,", name)

greet("Оля")          # 🙂 Привіт, Оля
greet("Іван", "🚀")   # 🚀 Привіт, Іван

Правило

Параметри зі значенням за замовчуванням зазвичай ставлять після обов’язкових: def f(a, b=0).

4 Область видимості (scope) — простими словами

Змінні, створені всередині функції, зазвичай “живуть” тільки там. Це добре: функція не ламає інші частини програми.

scope.py
def demo():
    x = 10
    print("Всередині:", x)

demo()
# print(x)  # Помилка: x не існує зовні

Лайфхак

Якщо тобі треба “передати” значення назовні — просто поверни його через return.

5 Модулі: що таке import?

Модуль — це файл з Python-кодом. Python має багато готових модулів (стандартна бібліотека). Щоб підключити модуль — використовують import.

Модуль math

Корені, округлення, π тощо.

import math

print(math.sqrt(81))      # 9.0
print(math.pi)            # 3.1415...
print(math.ceil(2.1))     # 3

Модуль random

Випадкові числа (для ігор).

import random

secret = random.randint(1, 10)
print(secret)  # число 1..10
Варіанти імпорту:
  • import math → виклик math.sqrt()
  • from math import sqrt → виклик sqrt()
  • import math as m → виклик m.sqrt()

6 Свій модуль: “файл-помічник”

Ти можеш створити файл, наприклад helpers.py, покласти туди функції й підключати їх у головній програмі.

helpers.py
def clamp(value, low, high):
    """Обмежує value: не менше low і не більше high."""
    if value < low:
        return low
    if value > high:
        return high
    return value
main.py
from helpers import clamp

hp = clamp(120, 0, 100)
print(hp)  # 100

Увага

Файл helpers.py має бути поруч (у тій самій папці) або в доступному шляху, інакше Python не знайде модуль.

Висновок

Функції допомагають не повторювати код, роблять програму зрозумілою та “збирають” логіку в маленькі блоки. Модулі дозволяють підключати готові інструменти (math, random) і створювати власні файли-помічники.

def return import math random