функциялары
Осы уақытқа дейін біз барлық кодымызды app.py ішінде жазып келеміз, бірақ біздің бағдарламаларымыз өскен сайын кодты ұйымдастырудың жақсы әдісі қажет. Біз өз кодымызды функциялар деп атайтын кішірек, басқарылатын және қолдауға болатын бөліктерге бөлуіміз керек. Функция белгілі бір тапсырманы орындайтын кодтың бірнеше жолына арналған контейнер болып табылады.
Мысалы, сіз Python-да бірнеше кірістірілген функциялар туралы білдіңіз print()
және input()
. Әрбір функцияның мақсаты бар және белгілі бір тапсырманы қалай орындау керектігін біледі. Сонымен, біз үлкен күрделі бағдарламаларды құрастырған кезде, кодты қайта пайдалануға болатын кішірек бөліктерге, яғни функцияларға бөлуіміз керек.
Сәлемдесу хабарламасын басып шығару үшін бағдарлама құру арқылы бұл тұжырымдаманы түсінейік.
print('Hi there!')
print('Welcome aboard!')
Мұнда бізде тек екі жолдық код бар қарапайым бағдарлама бар. Енді, біз оларды қайта пайдалануға болатын функцияға қою үшін басқа бағдарламаларда қажет боламыз делік.
Маған резервтелген кілт сөзді енгізуге рұқсат етіңіз def
Python тілінде, ол анықтау үшін қысқаша және функцияны анықтау үшін пайдаланылады.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Енді бұл код блогы функцияны анықтайды.greet_user
” одан кейінгі код жолдарымен. Бұл функция шақырылған сайын, осы екі жол орындалады. Мынаны қолданайық:
print('start')
greet_user()
print('finish')
Бағдарлама дәйекті түрде орындалады, яғни оны бағдарламада шақырмас бұрын функцияны анықтау керек.
Параметрлер
Анықталған функциялар Python бағдарламасының кірістірілген функцияларынан сәл басқаша жұмыс істейді. Мысалы, жағдайда 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'
позициялық аргументтер деп аталады, бұл олардың позициясы немесе бағдарламадағы тәртібі мәселелерін білдіреді.
Python-да бізде позиция маңызды емес кілт сөз аргументтері деп аталатын дәлелдің басқа түрі бар. Олардың қалай жұмыс істейтінін көрсетейін.
Соңғы бағдарламаны қараңыз. Біз оны келесідей өзгерте аламыз:
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 саны және ешқайсысы. Мұнда не болып жатыр?
Python интерпретаторы осы кодты орындағанда, алдымен квадрат функциясын шақырады және басқару элементі функцияға ауысады. Мұнда біз осы берілген санның квадратын есептеп, оны терминалға басып шығарамыз.
Енді, әдепкі бойынша, барлық функциялар none мәнін қайтарады. Сонымен, егер бізде қайтару мәлімдемесі болмаса, әдепкі бойынша Python ешқайсысын қайтармайды. None — мәннің жоқтығын білдіретін нысан. Бұл C, C++, Java және Javascript тілдерінде ештеңе немесе нөл сияқты.
Аяқтау!
Сіз функциялардың маңыздылығын түсіндіңіз деп үміттенемін.
Егер сіз кодтау мансабыңыз кезінде үлкен және күрделі бағдарламаларды жазуды жоспарласаңыз, олар Python оқуының маңызды аспектісі болып табылады.
пікір қалдыру