Функције
До сада смо писали сав наш код у апп.пи, али како наши програми расту, потребан нам је бољи начин да организујемо наш код. Морамо да разбијемо наш код на мање делове, којима је лакше управљати и лакше одржавати које називамо функцијама. Функција је контејнер за неколико линија кода који обављају одређени задатак.
На пример, већ сте научили о неколико уграђених функција у Питхон-у print()
input()
. Свака функција има сврху и зна како да изврши одређени задатак. Дакле, када правимо велике сложене програме, треба да разбијемо наш код на мање делове за вишекратну употребу, односно функције.
Хајде да разумемо овај концепт тако што ћемо изградити програм за штампање поздравне поруке.
print('Hi there!')
print('Welcome aboard!')
Овде имамо једноставан програм са само две линије кода. Сада, рецимо, требаће нам у другим програмима да бисмо их ставили у функцију коју можемо поново да користимо.
Дозволите ми да вам представим резервисану кључну реч def
у Питхон-у, што је скраћеница за дефине и користи се за дефинисање функције.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Сада ће овај блок кода дефинисати функцију „greet_user
” са редовима кодова након тога. Кад год се ова функција позове, ове две линије ће се извршити. Хајде да користимо ово:
print('start')
greet_user()
print('finish')
Програм се извршава секвенцијално, што значи да бисте морали да дефинишете функцију пре него што је позовете у програму.
parametri
Дефинисане функције раде мало другачије од уграђених функција Питхон-а. На пример, у случају print()
функција, она узима неке информације које желимо да одштампамо, али наша греет функција не узима никакве информације. Зар не би било лепше када бисте могли да проследите име корисника овде и онда, уместо да кажете „здраво тамо“, можете да одштампате име корисника?
То можете учинити додавањем параметара унутар заграда дефинисане функције. Да ти покажем:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Сада "name
” унутар заграда ће деловати као локална променљива и можемо проследити име корисника када га позивамо.
greet_user('Shahbaz')
Сада је параметар имена подешен на „Shahbaz
”. Хајде да изменимо програм да бисмо га искористили.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Важна ствар коју треба приметити је да се „име“ у првом реду назива параметар, док се наведено име, тј. Шахбаз, назива аргументом.
Хајде да покренемо овај програм.
Дакле, са овим параметрима можемо да примамо информације у нашим функцијама.
Сада, хајде да урадимо нешто занимљиво. Рецимо да желите да додате друго име у поздравну поруку. То је једноставно.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Сада имајте на уму да када функција има параметар, ми смо у обавези да проследимо вредност за тај параметар. Ако уклоните име из функције и покренете програм, добићемо грешку. Такође можете користити више параметара у једној функцији, раздвојених зарезом.
На пример, greet_user(first_name, last_name):
. Аргументи ће такође бити форматирани на сличан начин.
Аргументи кључних речи
До сада смо научили да кад год дефинишемо параметре за наше функције увек треба да наведемо вредности, иначе ћемо добити грешку. У последњем програму, аргументи 'Shahbaz'
'Bhatti'
називају се позициони аргументи, што значи да су њихова позиција или редослед важни у програму.
У Питхон-у имамо другу врсту аргумената који се називају аргументи кључних речи, за које позиција није битна. Дозволите ми да вам покажем како раде.
Погледајте последњи програм. Можемо га модификовати овако:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Сада first_name
last_name
су параметри кључне речи. Можете променити њихова места и резултат ће бити исти.
То не значи да увек треба да користимо аргументе кључних речи. Већину времена користимо позиционе аргументе, али у одређеним ситуацијама, ови аргументи кључних речи нам помажу да побољшамо читљивост нашег кода.
Постоји још једна ствар коју треба да знате о аргументима кључних речи. Кључна реч аргументи увек треба да дође после позиционих аргумената.
Изјава о поврату
До сада смо научили како да креирамо функције и шаљемо им информације користећи њихове параметре. Сада хајде да научимо како да креирамо функције које враћају вредности. Ово је посебно корисно ако радите неку врсту прорачуна и желите да вратите резултат ономе ко користи вашу функцију. Да ти покажем.
Хајде да дефинишемо функцију која ће израчунати квадрат броја.
def square(number):
return number*number
Користили смо наредбу ретурн да вратимо овај број ван функције. Сада, ако позовемо ову функцију, она враћа вредност баш као и input()
функција. Одштампајмо га на терминалу.
Можете тврдити да се исти резултат може добити без употребе наредбе ретурн. Хајде да проверимо.
Видимо две ствари, број 9 и ниједну. Шта се дешава овде?
Када Питхон интерпретер изврши овај код, прво ће позвати функцију квадрата и контрола се помера на функцију. Овде израчунавамо квадрат овог датог броја и затим га штампамо на терминалу.
Сада, подразумевано, све функције враћају вредност ноне. Дакле, ако овде немамо наредбу ретурн, Питхон подразумевано не враћа ниједан. Ноне је објекат који представља одсуство вредности. То је као ништа или нулл у Ц, Ц++, Јави и Јавасцрипт-у.
Упаковати!
Надам се да сте разумели важност функција.
Они су значајан аспект учења Питхона ако планирате да пишете велике и сложене програме током своје каријере кодирања.
Ostavite komentar