Функція – це іменований блок команд. Ми можемо передавати аргументи функціям. Функція зі свого боку повертає значення.
Визначення функції
Python пропонує цілий набір вбудованих функцій, тобто таких, які вже підготували творці мови. Прикладом є функція `len’, яка обчислює довжину рядка.
Ми визначаємо нашу власну функцію за допомогою ключового слова def
:
def say_hello(name):
print("Hello", name)
Таким чином, ми визначили функцію say_hello
, яка має параметр name
. Функція також може мати більше параметрів.
Виклик функції
Просто тому що ми визначаємо функцію, вона ще не виконується. Щоб функція виконувалася, нам потрібно її викликати. Ми робимо це, записуючи назву функції та передаючи певний аргумент у дужках:
say_hello("Alice") # напиши Hello Alice
say_hello("Bob") # напиши Hello Bob
Деякі функції не мають параметрів. Нам все ще потрібно включати дужки під час їх виклику, наприклад, say_goodbye()
.
Повернене значення
Функція може повертати якесь значення, використовуючи ключове слово return
. Наступна функція обчислює та повертає факторіал.
def factorial(n):
f = 1
for i in range(1, n+1):
f = f*i
return f
Така функція сама по собі нічого не робить, вона просто повертає значення, з яким ми можемо працювати далі.
factorial(5) # рахує значення факторіалу 5, але потім це значення
# ніяк далі не використовує
print(factorial(4)) # цього разу випишемо результат рахунку
x = factorial(6) # цей результат збережеться до змінної
print(x) # а потім можна виписати значення цієї змінної
Команда return
завершує виконання функції. Таким чином, коли викликається така функція, друкується лише foo
:
def test():
print("foo")
return 0
print("bar")
Різниця між return та print
Частим джерелом проблем для початківців є правильне розрізнення між використанням print
і return
у функціях.
Використання print
приводить до негайного виведення значення, але ви не можете працювати з цим значенням далі якимось іншим способом.
Використання return
завершує роботу функції та повертає значення. Воно не виписується автоматично, але ми можемо призначити його змінній і продовжувати з ним працювати.