Що таке функція в Python?
Функція в Python є шматок коду , який виконується , коли на нього посилаються. Він використовується для використання коду в більш ніж одному місці програми. Його також називають методом або процедурою. Python надає багато вбудованих функцій, таких як print (), input (), compile (), exec () тощо, але також дає свободу створювати власні функції.
У цьому підручнику ми дізнаємось
- Як визначити та викликати функцію в Python
- Значення відступу (пробілу) у Python
- Як функція повертає значення?
- Аргументи у функціях
Як визначити та викликати функцію в Python
Функція в Python визначається оператором "def", за яким слідує ім'я функції та дужки (())
Приклад:
Давайте визначимо функцію за допомогою команди "def func1 (): і викличемо функцію. Результатом функції буде "Я вивчаю функцію Python".
Функція print func1 () викликає наш def func1 (): і друкує команду " Я вивчаю функцію Python None ".
У Python існує набір правил для визначення функції.
- Будь-які аргументи або вхідні параметри слід розміщувати в цих дужках
- Першим оператором функції може бути необов’язковий рядок-документ або рядок документації функції
- Код у кожній функції починається з двокрапки (:) і повинен бути з відступом (пробіл)
- Оператор return (вираз) виходить із функції, необов'язково передаючи значення абоненту. Оператор return без аргументів - це те саме, що return None.
Значення відступу (пробілу) у Python
Перш ніж ми ознайомимося з функціями Python, важливо зрозуміти правило відступу для оголошення функцій Python, і ці правила застосовні до інших елементів Python, а також до оголошень умов, циклів або змінних.
Python дотримується певного стилю відступу для визначення коду, оскільки функції Python не мають явного початку або кінця, як фігурні дужки, для позначення початку та зупинки функції, вони повинні покладатися на цей відступ . Тут ми беремо простий приклад з командою "print". Коли ми пишемо функцію "print" прямо під def func 1 (): вона покаже " помилку відступу: очікується відступ блоку ".
Тепер, коли ви додаєте відступ (пробіл) перед функцією "друк", він повинен надрукувати належним чином.
Принаймні, одного відступу достатньо, щоб ваш код працював успішно. Але як найкращу практику доцільно залишити приблизно 3-4 відступ для виклику своєї функції .
Також необхідно, щоб, оголошуючи відступ, ви мали зберегти однаковий відступ для решти коду . Наприклад, на знімку екрана внизу, коли ми називаємо інше твердження "все ще у func1", і коли воно не оголошено прямо під першим оператором друку, воно покаже помилку відступу "unindent не відповідає жодному іншому рівню відступу".
Тепер, коли ми застосовуємо однакові відступи для обох тверджень і вирівнюємо їх в одному рядку, це дає очікуваний результат.
Як функція повертає значення?
Команда return у Python визначає, яке значення потрібно повернути виклику функції.
Давайте зрозуміємо це на наступному прикладі
Крок 1) Тут - ми бачимо, коли функція не "повертається". Наприклад, нам потрібен квадрат 4, і він повинен дати відповідь "16", коли код виконується. Який він дає, коли ми просто використовуємо код "print x * x", але коли ви викликаєте функцію "print square", він видає "None" як вихідний результат. Це пов’язано з тим, що при виклику функції рекурсія не відбувається і відпадає від кінця функції. Python повертає "None" за відмову в кінці функції.
Крок 2) Щоб зробити це зрозумілішим, ми замінюємо команду друку командою призначення. Давайте перевіримо результат.
Коли ви запускаєте команду "print square (4)", вона фактично повертає значення об'єкта, оскільки ми не маємо жодної конкретної функції для перебігу, вона повертає "None".
Крок 3) Тепер ми побачимо, як отримати вихідні дані за допомогою команди "return". Коли ви використовуєте функцію "return" і виконуєте код, вона видасть результат "16."
Крок 4) Функції в Python самі по собі є об'єктом, і об'єкт має якесь значення. Тут ми побачимо, як Python поводиться з об’єктом. Коли ви запускаєте команду "print square", вона повертає значення об'єкта. Оскільки ми не передали жодного аргументу, ми не маємо жодної конкретної функції для перебігу, вона повертає значення за замовчуванням (0x021B2D30), яке є розташуванням об’єкта. У практичній програмі Python вам, мабуть, ніколи не потрібно буде цього робити.
Аргументи у функціях
Аргумент - це значення, яке передається функції при її виклику.
Іншими словами, на стороні, що викликає, це аргумент, а на стороні функції - параметр.
Давайте подивимось, як працює Python Args -
Крок 1) Аргументи оголошуються у визначенні функції. Під час виклику функції ви можете передавати значення для цих аргументів, як показано нижче
Крок 2) Щоб оголосити значення аргументу за замовчуванням, призначте йому значення у визначенні функції.
Приклад: x не має значень за замовчуванням. Значення за замовчуванням y = 0. Коли ми надаємо лише один аргумент під час виклику функції множення, Python присвоює подане значення x, зберігаючи значення y = 0. Звідси множення x * y = 0
Крок 3) Цього разу ми замінимо значення на y = 2 замість значення за замовчуванням y = 0, і воно поверне результат як (4x2) = 8.
Крок 4) Ви також можете змінити порядок передачі аргументів у Python. Тут ми змінили порядок значень x та y на x = 4 та y = 2.
Крок 5) Кілька аргументів також можна передавати як масив. У цьому прикладі ми викликаємо кілька аргументів (1,2,3,4,5), викликаючи функцію (* args).
Приклад: Ми оголосили кілька аргументів як число (1,2,3,4,5), коли ми викликаємо функцію (* args); він виводить результат як (1,2,3,4,5)
Поради :
- У Python 2.7. перевантаження функції не підтримується в Python. Перевантаження функції - це можливість створення декількох методів з однією назвою з різною реалізацією. Перевантаження функцій повністю підтримується в Python 3
- Існує досить плутанина між методами та функціями. Методи в Python пов'язані з екземплярами об'єктів, тоді як функції - ні. Коли Python викликає метод, він прив'язує перший параметр цього виклику до відповідного посилання на об'єкт. Простими словами, автономна функція в Python є "функцією", тоді як функція, яка є атрибутом класу або екземпляра, є "методом".
Ось повний код Python 3
#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))
Ось повний код Python 2
#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)
Короткий зміст:
Функція в Python - це шматок багаторазового коду, який використовується для виконання однієї пов'язаної дії. У цій статті ми це побачимо
- Функція, визначена оператором def
- Блок коду в кожній функції починається з двокрапки (:) і повинен бути з відступом (пробіл)
- Будь-які аргументи або вхідні параметри слід розміщувати в цих дужках тощо.
- Принаймні один відступ слід залишити перед кодом після оголошення функції
- Той самий стиль відступу повинен підтримуватися в коді у функції def
- Для кращої практики три чи чотири відступи вважаються найкращими перед твердженням
- Ви можете використовувати команду "return", щоб повернути значення до виклику функції.
- Python надрукує випадкове значення на зразок (0x021B2D30), коли аргумент не надається викличній функції. Приклад "функція друку".
- На стороні, що викликає, це аргумент, а на стороні функції - параметр
- Значення за замовчуванням в аргументі - Коли ми надаємо лише один аргумент під час виклику функції множення або будь-якої іншої функції, Python призначає інший аргумент за замовчуванням
- Python також дозволяє змінити порядок аргументів