Функції Python (def): визначення з прикладами

У цій статті ви дізнаєтесь про функції, що таке функція, синтаксис, компоненти та типи функцій. Крім того, ви навчитеся створювати функції в Python.

Відео: Вступ до функцій Python

Що таке функція в Python?

У Python функція - це група пов'язаних операторів, яка виконує певне завдання.

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

Крім того, це дозволяє уникнути повторень і робить код багаторазовим.

Синтаксис функції

 def function_name (parameters): "" "docstring" "" statement (s)

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

  1. Ключове defслово, яке позначає початок заголовка функції.
  2. Ім'я функції для однозначної ідентифікації функції. Іменування функцій відповідає тим самим правилам написання ідентифікаторів у Python.
  3. Параметри (аргументи), за допомогою яких ми передаємо значення функції. Вони необов’язкові.
  4. Двокрапка (:) для позначення кінця заголовка функції.
  5. Необов’язковий рядок документації (docstring), щоб описати, що робить функція.
  6. Один або більше дійсних операторів python, що складають тіло функції. Виписки повинні мати однаковий рівень відступу (зазвичай 4 пробіли).
  7. Необов’язковий returnоператор для повернення значення з функції.

Приклад функції

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Як викликати функцію в python?

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

 >>> greet('Paul') Hello, Paul. Good morning!

Примітка: Спробуйте запустити наведений вище код у програмі Python із визначенням функції, щоб побачити результати.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Документи

Перший рядок після заголовка функції називається docstring і є коротким для рядка документації. Він коротко використовується для пояснення того, що робить функція.

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

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

Наприклад :

Спробуйте запустити наступне в оболонку Python, щоб побачити результати.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Щоб дізнатись більше про текстові рядки в Python, відвідайте Python Docstrings.

Заява про повернення

Оператор returnвикористовується для виходу з функції та повернення до місця, звідки вона була викликана.

Синтаксис повернення

 повернення (список_виразів)

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

Наприклад:

 >>> print(greet("May")) Hello, May. Good morning! None

Тут Noneповертається значення, оскільки greet()безпосередньо друкує ім'я, і ​​жоден returnоператор не використовується.

Приклад повернення

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Вихідні дані

 2 4

Як функція працює в Python?

Робота функцій у Python

Сфера застосування та термін служби змінних

Сфера дії змінної - це частина програми, де розпізнається змінна. Параметри та змінні, визначені всередині функції, не видно зовні функції. Отже, вони мають локальний розмах.

Час життя змінної - це період, протягом якого змінна виходить у пам’ять. Термін служби змінних усередині функції до тих пір, поки функція виконується.

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

Ось приклад для ілюстрації області дії змінної всередині функції.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Вихідні дані

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Вбудовані функції - функції, вбудовані в Python.
  2. Визначені користувачем функції - функції, визначені самими користувачами.

Цікаві статті...