НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

Python Підручник

Python СТАРТ Python Інтро Python Встановлення Python Синтаксис Python Коментарі Python Змінні Python Типи даних Python Числа Python Кастинг Python Рядки Python Булеві Python Оператори Python Списки Python Кортежі Python Набори Python Словники Python If...Else Python Цикли While Python Цикли For Python Функції Python Лямбда Python Масиви Python Класи/Об’єкти Python Наслідування Python Ітератори Python Поліморфізм Python Область дії (видимості) Python Модулі Python Дати Python Математика Python JSON Python RegEx Python PIP Python Try...Except Python Користувацький ввод Python Форматування рядка

Обробка файлів

Python Обробка файлів Python Читання файлів Python Запис/Створення файлів Python Видалення файлів

Python Modules

NumPy Tutorial Pandas Tutorial SciPy Tutorial Django Tutorial

Python Matplotlib

Matplotlib Інтро Matplotlib Початок роботи Matplotlib Pyplot Matplotlib Складання графіка Matplotlib Маркери Matplotlib Лінія Matplotlib Лейбли Matplotlib Сітка Matplotlib Subplots Matplotlib Scatter Matplotlib Бари Matplotlib Гістограми Matplotlib Кругові діаграми

Машинне навчання

Початок роботи Середній режим Стандартне відхилення Перцентиль Розподіл даних Звичайний розподіл даних Діаграма розкиду Лінійна регресія Поліноміальна регресія Множинна регресія Шкала Тренування/Тест Дерево рішень Confusion Matrix Hierarchical Clustering Logistic Regression Grid Search Categorical Data K-means Bootstrap Aggregation Cross Validation AUC - ROC Curve K-nearest neighbors

Python MySQL

MySQL Початок роботи MySQL CREATE DATABASE MySQL CREATE TABLE MySQL INSERT INTO MySQL SELECT MySQL WHERE MySQL ORDER BY MySQL DELETE FROM MySQL DROP TABLE MySQL UPDATE MySQL LIMIT MySQL JOIN

Python MongoDB

MongoDB Початок роботи MongoDB Створення бази даних MongoDB Створити колекцію MongoDB Вставити MongoDB Знайти MongoDB Запит MongoDB Сортувати MongoDB Видалити MongoDB Drop колекція MongoDB Оновлення MongoDB Ліміт

Python Reference

Python Огляд Python Вбудовані функції Python Рядкові методи Python Методи списку Python Словникові методи Python Кортежні методи Python Set методи Python Файлові методи Python Ключові слова Python Винятки Python Глосарій

Довідник модулів

Модуль Random Модуль Запитів Модуль Статистики Модуль Math Модуль cMath

Python Як зробити?

Видалити копії списків Обернути рядок Додати два числа

Python Приклади

Python Приклади Python Компілятор Python Вправи Python Вікторина Python Bootcamp Python Сертифікат

Python. W3Schools українською. Уроки для початківців

En Es

Python Функції


Функція – це блок коду, який виконується лише тоді, коли його викликають.

Ви можете передавати дані, відомі як параметри, у функцію.

Функція може повертати дані як результат.


Створення функції

У Python функція визначається за допомогою ключового слова def:

Приклад

def my_function():
  print("Привіт від функції")

Виклик функції

Щоб викликати функцію, використовуйте назву функції, за якою йдуть дужки:

Приклад

def my_function():
  print("Hello from a function")

my_function()
Спробуйте самі »

Аргументи

Інформацію можна передавати у функції як аргументи.

Аргументи вказуються після імені функції в дужках. Ви можете додати скільки завгодно аргументів, просто розділіть їх комою.

У наступному прикладі є функція з одним аргументом (fname). Під час виклику функції ми передаємо ім’я, яке використовується всередині функції для друку повного імені:

Приклад

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")
Спробуйте самі »

Аргументи часто скорочуються до args у документації Python.


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

Терміни параметр і аргумент можна використовувати для того самого: інформації, яка передається у функцію.

З точки зору функції:

Параметр — це змінна, указана в дужках у визначенні функції.

Аргумент — це значення, яке надсилається функції під час її виклику.


Кількість аргументів

За замовчуванням функція має бути викликана з правильною кількістю аргументів. Це означає, що якщо ваша функція очікує 2 аргументи, ви повинні викликати функцію з 2 аргументами, не більше і не менше.

Приклад

Ця функція очікує 2 аргументи та отримує 2 аргументи:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
Спробуйте самі »

Якщо ви спробуєте викликати функцію з 1 або 3 аргументами, ви отримаєте помилку:

Приклад

Ця функція очікує 2 аргументи, але отримує лише 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")
Спробуйте самі »

Довільні аргументи, *args

Якщо ви не знаєте, скільки аргументів буде передано у вашу функцію, додайте * перед назвою параметра у визначенні функції.

Таким чином функція отримає кортеж аргументів і матиме відповідний доступ до елементів:

Приклад

Якщо кількість аргументів невідома, додайте * перед назвою параметра:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")
Спробуйте самі »

Довільні аргументи часто скорочуються до *args у документації Python.


Аргументи ключових слів

Ви також можете надсилати аргументи за допомогою синтаксису ключ = значення.

Таким чином порядок аргументів не має значення.

Приклад

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
Спробуйте самі »

У документації Python фразу Аргументи ключового слова часто скорочують до kwargs.


Аргументи довільного ключового слова, **kwargs

Якщо ви не знаєте, скільки аргументів ключових слів буде передано у вашу функцію, додайте дві зірочки: ** перед назвою параметра у визначенні функції.

Таким чином функція отримає словник аргументів і матиме відповідний доступ до елементів:

Приклад

Якщо кількість аргументів ключового слова невідома, додайте подвійні знаки ** перед назвою параметра:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")
Спробуйте самі »

Довільні аргументи Kword часто скорочуються до **kwargs у документації Python.


Значення параметра за замовчуванням

У наступному прикладі показано, як використовувати значення параметра за замовчуванням.

Якщо ми викликаємо функцію без аргументів, вона використовує значення за умовчанням:

Приклад

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
Спробуйте самі »

Передача списку як аргументу

Ви можете надіслати будь-які типи даних аргументу до функції (рядок, число, список, словник тощо), і він буде розглядатися як той самий тип даних у функції.

Наприклад, якщо ви надішлете список як аргумент, він все одно буде списком, коли досягне функції:

Приклад

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)
Спробуйте самі »

Повернуті значення

Щоб дозволити функції повертати значення, скористайтеся інструкцією return:

Приклад

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))
Спробуйте самі »

Інструкція pass

Визначення function не можуть бути порожніми, але якщо у вас з якоїсь причини є визначення function без вмісту, додайте pass, щоб уникнути помилки.

Приклад

def myfunction():
  pass
Спробуйте самі »

Рекурсія

Python також підтримує рекурсію функцій, що означає, що визначена функція може викликати саму себе.

Рекурсія є поширеною математичною та програмною концепцією. Це означає, що функція викликає сама себе. Перевагою цього є те, що ви можете переглядати дані, щоб отримати результат.

Розробнику слід бути дуже обережним із рекурсією, оскільки може бути дуже легко скотитися до написання функції, яка ніколи не припиняється, або такої, яка використовує надлишок пам’яті чи потужності процесора. Однак, якщо правильно написати рекурсію, вона може бути дуже ефективним і математично елегантним підходом до програмування.

У цьому прикладі tri_recursion() є функцією, яку ми визначили для самовиклику ("recurse"). Ми використовуємо змінну k як дані, які зменшуються (-1) кожного разу, коли ми виконуємо рекурсію. Рекурсія завершується, коли умова не перевищує 0 (тобто коли вона дорівнює 0).

Новому розробнику може знадобитися деякий час, щоб зрозуміти, як саме це працює; найкращий спосіб дізнатися – це протестувати та змінити його.

Приклад

Приклад рекурсії

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Приклад Results")
tri_recursion(6)
Спробуйте самі »

Перевірте себе за допомогою вправ

Вправа:

Створіть функцію з назвою my_function.

:
print("Hello from a function")