У цій статті ви дізнаєтесь про функції, що таке функція, синтаксис, компоненти та типи функцій. Крім того, ви навчитеся створювати функції в Python.
Відео: Вступ до функцій Python
Що таке функція в Python?
У Python функція - це група пов'язаних операторів, яка виконує певне завдання.
Функції допомагають розбити нашу програму на менші та модульні фрагменти. По мірі того як наша програма стає все більшою та більшою, функції роблять її більш організованою та керованою.
Крім того, це дозволяє уникнути повторень і робить код багаторазовим.
Синтаксис функції
def function_name (parameters): "" "docstring" "" statement (s)
Вище показано визначення функції, яке складається з наступних компонентів.
- Ключове
def
слово, яке позначає початок заголовка функції. - Ім'я функції для однозначної ідентифікації функції. Іменування функцій відповідає тим самим правилам написання ідентифікаторів у Python.
- Параметри (аргументи), за допомогою яких ми передаємо значення функції. Вони необов’язкові.
- Двокрапка (:) для позначення кінця заголовка функції.
- Необов’язковий рядок документації (docstring), щоб описати, що робить функція.
- Один або більше дійсних операторів python, що складають тіло функції. Виписки повинні мати однаковий рівень відступу (зазвичай 4 пробіли).
- Необов’язковий
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?
![](https://cdn.wiki-base.com/1477661/python_functions_def_definition_with_examples.jpg.webp)
Сфера застосування та термін служби змінних
Сфера дії змінної - це частина програми, де розпізнається змінна. Параметри та змінні, визначені всередині функції, не видно зовні функції. Отже, вони мають локальний розмах.
Час життя змінної - це період, протягом якого змінна виходить у пам’ять. Термін служби змінних усередині функції до тих пір, поки функція виконується.
Вони руйнуються, як тільки ми повертаємось із функції. Отже, функція не запам'ятовує значення змінної з попередніх викликів.
Ось приклад для ілюстрації області дії змінної всередині функції.
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:
- Вбудовані функції - функції, вбудовані в Python.
- Визначені користувачем функції - функції, визначені самими користувачами.