Функције¶
У прошлој глави показали смо пуно малих програма за рад са речником. Њих можемо објединити у један програм користећи функције.
Функција је именована група наредби, која је издвојена у засебну целину.
Током курса наилазили смо на разне функције, на пример функцијe print и len:
Када користимо функцију print у заградама наводимо шта желимо да се испише. Слично за функцију len наводимо колекцију чију дужину желимо да сазнамо, односно у оба случаја наводимо над чиме желимо да извршимо ту функцију. То називамо аргумент функције.
Функције без повратне вредности¶
У програмском језику Пајтон можемо сами правити своје функције које желимо да користимо. На пример, функцију која за дато име исписује поздрав тој особи можемо написати на следећи начин:
Када покренеш претходни програм приметићеш да се ништа неће десити. То је и очекивано јер смо ми дефинисали нову функцију али је нисмо ниједном позвали, односно употребили:
Видимо на примеру да је линија print("Zdravo,", ime, "👋") увучена у односу на def pozdrav(ime):. Уколико функција има више линија, оне морају бити поравнате.
Имајући то у виду, размисли шта исписује следећи програм:
def pozdrav(ime):
print("Zdravo,", ime, "👋")
print("🦊")
print("🐻")
pozdrav("Ana")
pozdrav("Mila")
print("🐺")
pozdrav("Sofija")
Којим редом се исписују животиње у претходном програму?
🦊🐻🦊🐻🦊🐻🐺
🦊🐻🦊🐻🐺🦊🐻
🦊🦊🦊🐻🐺
🐻🦊🦊🐺🦊
Функције са повратном вредношћу¶
Видели смо у ранијим примерима да за разлику од функције print, функција len ништа сама не исписује него само рачуна вредност дужине листе. Ту вредност ми даље можемо доделити некој променљивој или исписати и назива се повратна вредност функције.
Када желимо да функција коју напишемо има повратну вредност, користимо наредбу return и наводимо израз чију ће вредност вратити наша функција:
Наредба return може да се појави на више места у функцији, а обавезно се наводи на крају тела функције:
Функција са повратном вредношћу извршава се до прве наредбе return на коју током извршавања наилази.
Размисли шта исписује следећи програм:
Којим редом се исписују животиње у претходном програму?
🐮🐱🐮🐷🐥
🐮🐷🐥
🐮🐮🐷
🐮🐱🐮🐷
Пробај да направиш програм који се може користити за помоћ у куповини. Чува два речника, ценовник и корпа и у зависности од унете наредбе корисника може да:
дода артикал и његову цену у ценовник
испише артикле и цене у ценовнику
дода артикал и количину у корпу
испише садржај корпе
рачуна укупан износ корпе