Као програмер, често ћете се наћи да понављате радњу или задатак. Ово може бити заморно и дуготрајно, посебно када се ради са великом или сложеном базом кода. Њихова аутоматизација помоћу функција је ефикаснији приступ обављању таквих задатака. Функције вам омогућавају да једном напишете логику кода и да је користите било где у свом програму.

Шта је Питхон функција?

У Питхон-у, функција је блок кода који се користи за обављање одређеног задатка. Функцију треба да напишете само једном, али можете је користити више пута у свом коду. Функција може узети аргументе као улазне и вратити излазне вредности. Овај једноставан програм показује функцију која израчунава збир три броја:

# Питхон функција за израчунавање збира три броја

дефизрачунај_збир(а, б, ц):
повратак а+б+ц

штампа (израчунај_збир(1,2,3)) # враћа 6
штампа (израчунај_збир(1000, 300,44)) # враћа 1344
штампа (израчунај_збир(12, 4,78)) # враћа 94

У програму изнад, функција враћа збир три аргумента. Када се функција позива више пута, она враћа другачији излаз за сваки случај. Корисна апликација за ову функцију биће апликација за калкулатор.

Дефинисање функције у Питхон-у

Питхон има много уграђених функција доступно програмерима за употребу. Међутим, ове уграђене функције нису увек довољне да задовоље захтеве већине пројеката. Да бисте испунили прилагођене захтеве, морате да дефинишете своје прилагођене функције. Дефинисање прилагођених функција је уобичајена пракса у програмирању.

У Питхон-у можете дефинисати прилагођену функцију користећи деф кључна реч праћена именом ваше функције са заградама испред ње. Ево примера:

дефиме_функције()

Требало би да узмете у обзир ова правила када додељујете име функције у Питхон-у:

  • Имена функција треба да буду мала слова.
  • Називи функција треба да буду описни.
  • Користите доње црте да бисте одвојили речи у називу функције.

Након дефинисања функције, морате написати логику да бисте извршили жељени задатак. На пример, ова функција израчунава површину троугла:

# Питхон функција за израчунавање површине троугла

дефизрачунај површину_троугла(основа, висина):
површина = (основа * висина)/2
повратак области

штампа (израчунај површину_троугла(12, 3))

Функција изнад дефинише два параметра: база и висина, дели њихов производ са два и враћа резултат као излаз. Можете написати било коју логику коју желите да ваша функција обавља.

Разумевање аргумената функције

У претходним примерима, функције су узеле аргументе за извршавање радњи. Аргументи у овим примерима познати су као обавезни или позициони аргументи. У Питхон-у, ваши аргументи могу бити било који од следећих:

  • Позициони аргументи
  • Аргументи кључних речи

Поситионал Аргументс

Позициони аргументи морају бити прослеђени исправним редоследом дефиниције. На пример, ако дефинишете функцију са параметрима а, б, и ц, морате у складу са тим проследити вредности за ове параметре када их позовете. Хајде да испитамо претходни пример:

# Питхон функција за израчунавање збира три броја

дефизрачунај_збир(а, б, ц):
повратак а+б+ц

штампа (израчунај_збир(1,2,3)) # враћа 6
штампа (израчунај_збир(1000, 300,44)) # враћа 1344
штампа (израчунај_збир(12, 4,78)) # враћа 94

У горњем програму, израчунај_збир() функција узима три аргумента кад год је позовемо. Сваки аргумент представља одговарајући параметар. У првом позиву функције, бројеви 1, 2, и 3 заступати а, б, и ц према томе.

Параметар је декларисан у дефиницији функције, док је аргумент вредност која се преноси када позовете функцију. Ова вредност је репрезентација њеног одговарајућег параметра.

Позициони аргументи су обавезни. Ако их не додате, добићете а ТипеЕррор. Следећи пример то показује:

дефизрачунај_збир(а, б, ц):
повратак а+б+ц

штампа (израчунај_збир(1,2)) # подиже ТипеЕррор

Када покренете горњи програм на својој машини, добићете грешку сличну оној на слици испод:

Аргументи кључних речи

Аргументи кључне речи не морају нужно бити прослеђени кад год позовете функцију. Они су опциони аргументи и не морају да прате одређени редослед. Питхон нам дозвољава да користимо *аргс и **кваргс да наведете аргументе кључне речи.

Осим коришћења *аргс и **кваргс, такође је могуће одредити подразумеване вредности за ваше аргументе. Ако ово урадите, нећете добити грешку ако заборавите да додате вредност приликом позивања функције. Овај пример даје илустрацију:

дефизрачунај_збир(а, б, ц=3):
повратак а+б+ц

штампа (израчунај_збир(1,2)) # враћа 6

У наведеном програму када израчунај_збир() се зове, нема аргумента за ц; ово неће утицати на програм јер ц већ има подразумевану вредност. Можете одредити подразумеване вредности за онолико аргумената колико желите, али будите сигурни да то радите мудро.

Користите функције да организујете свој код

Функције су корисне за организовање вашег кода, чинећи га читљивијим и ефикаснијим. Помоћу функција можете да разбијете свој код на мање делове за вишекратну употребу које је лакше разумети и одржавати. Поред тога, ако треба да промените свој код, потребно је да измените само неопходну функцију, а не целу базу кода.