Як викликати функцію в Python (Приклад)
Що таке функція в Python?
A Функція в Python це фрагмент коду, який запускається, коли на нього посилаються. Він використовується для використання коду в кількох місцях програми. Його також називають методом або процедурою. Python надає багато вбудованих функцій, таких як print(), input(), compile(), exec() тощо, але також дає свободу створювати власні функції.
Як визначити та викликати функцію в Python
Функція в Python визначається «def» оператор, за яким слідує назва функції та круглі дужки ( () )
приклад:
Давайте визначимо функцію за допомогою команди ”def func1():” і викличемо функцію. Вихід функції буде «Я вчуся Python функція ”.
Функція print func1() викликає нашу функцію def func1(): і друкує команду ” Я вчуся Python функція Жодна."
Є набір правил в Python щоб визначити функцію.
- Будь-які аргументи або вхідні параметри слід помістити в ці дужки
- Перший оператор функції може бути необов’язковим рядком документації оператора або рядком документації функції
- Код кожної функції починається з двокрапки (:) і має мати відступ (пробіл).
- Інструкція return (вираз) завершує функцію, необов’язково передаючи значення викликаючому. Оператор return без аргументів — це те саме, що return None.
Значення відступу (пробілу) в Python
Перш ніж ми ознайомимося з Python функції, важливо, щоб ми розуміли правило відступів для оголошення Python функції, і ці правила застосовні до інших елементів Python а також як оголошення умов, циклів або змінних.
Python дотримується певного стилю відступів для визначення коду, оскільки Python функції не мають явного початку або кінця, як фігурні дужки, щоб вказати початок і зупинку функції, вони повинні покладатися на цей відступ. Ось простий приклад із командою «друк». Коли ми пишемо функцію «друк» прямо під def func 1 (): вона показуватиме «помилка відступу: очікується блок із відступом».
Тепер, коли ви додаєте відступ (пробіл) перед функцією «друк», вона має друкуватися належним чином.
Принаймні, одного відступу достатньо, щоб ваш код працював успішно. Але як найкращу практику, бажано залишити приблизно 3-4 відступи для виклику вашої функції.
Також необхідно, щоб при оголошенні відступу ви повинні збережіть той самий відступ для решти вашого коду. Наприклад, на знімку екрана нижче, коли ми викликаємо іншу інструкцію «still in func1», і коли вона не оголошена безпосередньо під першою інструкцією для друку, вона покаже помилку відступу «відступ не відповідає жодному іншому рівню відступу».
Тепер, коли ми застосовуємо однаковий відступ для обох операторів і вирівнюємо їх в одному рядку, це дає очікуваний результат.
Як функція повертає значення?
Повернути команду Python вказує, яке значення повернути абоненту функції. Розберемося в цьому на наступному прикладі
Крок 1) Функція нічого не повертає
Тут ми бачимо, коли функція не є «поверненням». Наприклад, ми хочемо квадрат 4, і він повинен дати відповідь «16» під час виконання коду. Що він дає, коли ми просто використовуємо код «print x*x», але коли ви викликаєте функцію «print square», вона дає «None» як вихід. Це пов’язано з тим, що коли ви викликаєте функцію, рекурсія не відбувається і падає з кінця функції. Python повертає «Немає» для невдалого завершення функції.
Крок 2) Замініть команду друку на команду призначення
Щоб зробити це зрозумілішим, ми замінюємо команду print на команду assignment. Давайте перевіримо вихід.
Коли ви виконуєте команду «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, і він поверне результат як (4×2)=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)
Поради:
- In Python 2.7. перевантаження функції не підтримується в Python. Перевантаження функцій — це можливість створювати кілька методів з однаковою назвою з різною реалізацією. Перевантаження функцій повністю підтримується в Python 3
- Існує велика плутанина між методами та функціями. Методи в Python пов’язані з екземплярами об’єктів, тоді як функція – ні. Коли Python викликає метод, він прив’язує перший параметр цього виклику до відповідного посилання на об’єкт. Простими словами, окрема функція в Python є «функцією», тоді як функція, яка є атрибутом класу або екземпляра, є «методом».
Ось повне Python 3 код
#define a function def func1(): print ("I am learning Python function") print ("still in func1") func1() def square(x): return x*x print(square(4)) def multiply(x,y=0): print("value of x=",x) print("value of y=",y) return x*y print(multiply(y=2,x=4))
Ось повне Python 2 код
#define a function def func1(): print " I am learning Python function" print " still in func1" func1() def square(x): return x*x print square(4) def multiply(x,y=0): print"value of x=",x print"value of y=",y return x*y print multiply(y=2,x=4)
Підсумки
Функція в Python це частина багаторазового коду, яка використовується для виконання однієї пов’язаної дії. У цій статті ми побачимо
- Функція, визначена захист заяву
- Блок коду в кожній функції починається з двокрапки (:) і має мати відступ (пробіл)
- Будь-які аргументи або вхідні параметри слід розміщувати в цих дужках тощо.
- Принаймні один відступ слід залишити перед кодом після оголошення функції
- Той самий стиль відступів має бути збережений у всьому коді функції def
- Для найкращих практик три або чотири абзаци вважаються найкращими перед твердженням
- Ви можете використовувати команду «return», щоб повернути значення до виклику функції.
- Python друкуватиме випадкове значення на зразок (0x021B2D30), якщо аргумент не надано функції, що викликає. Приклад «функція друку».
- На стороні виклику це аргумент, а на стороні функції – параметр
- Значення за замовчуванням в аргументі – коли ми надаємо лише один аргумент під час виклику функції множення або будь-якої іншої функції, Python призначає інший аргумент за замовчуванням
- Python також дозволяє змінити порядок аргументів на протилежний