Functions basics

Автор

Vadym Katsel

Дата публікації

2026-05-04

📌 План

  • Функції в Python
  • Live coding 1: Конвертер валют
  • Live coding 2: Функції з логікою

🔍 Функції в Python

Функції в Python — це блоки коду, які виконують певне завдання і можуть бути повторно використані в програмі. Вони допомагають організувати код, зробити його більш читабельним і зменшити дублювання.

Види функцій в Python

  1. Вбудовані функції: Це функції, які вже визначені в Python і готові до використання, наприклад, print(), len(), type().

  2. Користувацькі функції: Це функції, які ви визначаєте самостійно для виконання конкретних завдань у вашій програмі.

❌ Без функцій

salary_ivan = 15000
tax_ivan = salary_ivan * 0.195
net_ivan = salary_ivan - tax_ivan
print(f"Ivan: {net_ivan}")

salary_maria = 22000
tax_maria = salary_maria * 0.195
net_maria = salary_maria - tax_maria
print(f"Maria: {net_maria}")

salary_petro = 18000
tax_petro = salary_petro * 0.195
net_petro = salary_petro - tax_petro
print(f"Petro: {net_petro}")
Ivan: 12075.0
Maria: 17710.0
Petro: 14490.0

✅ З функціями

def get_net_salary(salary):
    tax = salary * 0.195 
    return salary - tax

# Використання
print(f"Ivan: {get_net_salary(15000)}")
print(f"Maria: {get_net_salary(22000)}")
print(f"Petro: {get_net_salary(18000)}")
Ivan: 12075.0
Maria: 17710.0
Petro: 14490.0

Визначення функції

Функція визначається за допомогою ключового слова def, за яким слідує ім’я функції та круглі дужки з параметрами (якщо є). Тіло функції відступає від лівого краю.

def function_name(parameters):
    # Тіло функції
    ...
    # return expression (не обов'язково)

Параметри та аргументи

def greet():
    print("Hello, World!")
    
greet()  # Виклик функції
Hello, World!
def greet(name):
    print(f"Hello, {name}!")

greet("Vadym")  # Виклик функції з аргументом
Hello, Vadym!

↩︎️ Return

return використовується для повернення значення з функції. Якщо функція не має return, вона повертає None за замовчуванням.

def add(a, b):
    return a + b
  
result = add(5, 3)
print(result)  # Виведе: 8
8

👨🏻‍💻 Live coding 1: Конвертер валют

ПриміткаЗадача

Написати функцію, яка приймає суму в доларах та конвертує її в гривні за курсом 41.5 грн за долар.

📝 Ваше завдання

ВажливоТЗ

Напишіть функцію, яка приймає ціну товару та відсоток знижки, а повертає фінальні ціну товару

↪️ Передача аргументів у функцію

Аргументи за замовчуванням

Ми можемо задати значення аргументу “по дефолту”. Якщо користувач його не передасть, Python візьме наше значення.

def greet(name, msg="Good morning!"):
    print(f"{msg}, {name}")

greet("Vadym")             # Використає дефолтне повідомлення
greet("Vadym", "Hi")       # Перезапише своїм
Good morning!, Vadym
Hi, Vadym

Позиційні аргументи

Позиційні аргументи передаються у функцію відповідно до порядку параметрів.

def nameAge(name, age):
    print("Hi, I am", name)
    print("My age is ", age)

print("Case-1:")
nameAge("Vadym", 18)

print("\nCase-2:")
nameAge(18, "Vadym")
Case-1:
Hi, I am Vadym
My age is  18

Case-2:
Hi, I am 18
My age is  Vadym

Іменовані аргументи

Іменовані аргументи дозволяють передавати значення параметрів за їхніми іменами, незалежно від порядку.

def student(fname, lname):
    print(fname, lname)

student(fname='Vadym', lname='Practice')
student(lname='Practice', fname='Vadym')
Vadym Practice
Vadym Practice

👨🏻‍💻 Live coding 2

ПриміткаЗадача

Написати функцію яка вирішить, чи може студент отримати фінансування, в залежності від його оцінок (функція має приймати список) - Студент може отримати фінансування якщо його середній бал > 80 - Якщо в студента є хоча би одна оцінка менше за 60 - фінансування отримати не можна

📝 Ваше завдання

ПриміткаЗадача

Напишіть функцію, яка конвертує оцінки студента в буквенний еквівалент. Функція має приймати список з оцінками від 0 до 100, і повернути список з оцінками від F до A. Правила наступні:

  • 90 - 100 = А
  • 80 - 90 = B
  • 70 - 80 = C
  • 60 - 70 = E
  • 0 - 60 = F

Якщо оцінка менша за 0 або більша за 100 функція виводить Error та повертає пустий список.