JavaRush /Курси /Модуль 1: Python Core /Функції в Python

Функції в Python

Модуль 1: Python Core
Рівень 4 , Лекція 6
Відкрита

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 є об'єктом. Функції, класи, помилки, списки, модулі — все.

Коментарі (5)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Дмитро Рівень 7
7 грудня 2025
Стосовно задачі "Випадковий аргумент": Звідки я можу знати що в рандомі є функція random.choice ? Цього не пояснювалось.
Віталій Рівень 23
14 березня 2025
В задачі "Випадкова функція" в приведеному "Правильне розв`язання" використовується метод random.choice(seq) з бібліотеки random про який раніш не згадувалось. Це прикра випадковість? Чи така позиція викладання матеріалу? Приймається random відповідь 😊
Антон Рівень 5
26 січня 2025
в последнем примере def shout(text): return text.upper() yell = shout def greet(func): greeting = func("Hello") # викликаємо функцію print(greeting) greet(shout) yell не где не исользуется
Andriy Trubchanin Рівень 23
5 лютого 2025
То для прикладу що його можна присвоїти
Bogdan Рівень 72
27 квітня 2025
Там, швидше за все, greet(shout) потрібно замінити на greet(yell)