Մենք արդեն աշխատել ենք Python-ում ֆունկցիաների հետ։ Իրականում, մեր առաջին ծրագրերն արդեն օգտագործում էր տարբեր ֆունկցիաներ։ print()-ը իրականում ֆունկցիա է: min(), max(), input(), sorted(), և փակագծերով մնացած բոլոր հրամանները բոլորը ֆունկցիաներ են:
Ֆունկցիաները կատարում են մի քանի հրամաններ և որոշ դեպքերում վերադարձնում արդյունք: min()-ը հաշվում է մի քանի արժեքների նվազագույնը և վերադարձնում այն: print()-ը՝ ելքում տպում է իրեն փոխանցված արժեքները:
Ֆունկցիաները հատկապես օգտակար են կրկնվող կոդից ազատվելու համար։ Մենք կարող ենք նաև սահմանել մեր սեփական ֆունկցիաները: Պատկերացրեք, որ ցանկանում եք տպել որոշակի առարկա 3 անգամ, իսկ արանքում մեկ այլ բան անել.
Սեփական ֆունկցիա սահմանելու համար անհրաժեշտ է օգտագործել def հատուկ բառը, որին հաջորդում է ֆունկցիայի անունը (print_triangle մեր դեպքում), որին հաջորդում է () և : ֆունկցիայի բլոկի սկիզբը նշելու համար: Հրամանների ցանկը, որը ֆունկցիան պետք է կատարի, տեղադրվում է ֆունկցիայի մարմնի ներսում:
Այս երկու ծրագրերն էլ կատարում են ճիշտ նույն գործողությունները, բայց երկրորդում կրկնվող մասը սահմանվում է ֆունկցիայի մեջ և համոզվում, որ կոդը պատճենված չէ:
Առաջին ծրագիրն ունի շատ copy-paste արված կոդ, և այս դեպքում, եթե մենք որոշենք փոխել *-ը %-ի եռանկյունի տպելու ժամանակ, ապա պետք է շատ փոփոխություններ կատարենք ծրագրի մեջ։ Սա կարող է իսկապես խառնաշփոթի վերածվել ավելի մեծ ծրագրերի դեպքում և շատ սխալների հանգեցնել:
Առաջադրանք
Սահմանեք ֆունկցիա, որը տպում է ուղղանկյուն և կանչեք այն 3 անգամ: Ուղղանկյան եզրագծերը պետք է լինեն # նշանի, իսկ ներքին մասը՝ դատարկ։