8.1 return operatoru
Python-da return operatoru funksiyalarda əsas rol oynayır, çünki onun köməyi ilə funksiya öz dəyərini qaytara bilir. Onun istifadəsinin başa düşülməsi proqram təminatının effektiv hazırlanması üçün vacibdir.
return operatoru funksiyanın icrasını dayandırır və nəticəni çağıran koda «qaytarır». Əgər funksiya elə bir nəticə verməlidirsə, hansı ki, sonra istifadə olunacaq, return istifadə olunur.
Dəyərin qaytarılması
Funksiyalar istənilən məlumat tipini qaytara bilər, o cümlədən ədədlər, sətirlər, obyektlər, hətta başqa funksiyalar və None. Məsələn:
def sum(a, b):
return a + b
result = sum(5, 3)
print(result) # 8 çap edəcək
Bu halda a + b toplamasının nəticəsi result dəyişəninə təyin olunur.
Çoxsaylı dəyərlərin qaytarılması
Python bir neçə dəyəri bir funksiya vasitəsilə tuple-lar vasitəsilə qaytarmağa imkan verir:
def get_user():
name = "İvan"
age = 25
return name, age
user_name, user_age = get_user()
print(user_name, user_age) # İvan 25 çap edəcək
Funksiyanı tamamlamaq üçün return istifadə etmək
return operatoru funksiyanın dərhal tamamlanması üçün istifadə oluna bilər, daxili dövrələri və ya şərt bloklarını da dayandıraraq:
def check_password(pswd):
if len(pswd) < 8:
return "Parol çox qısadır"
return "Parol qəbul edildi"
Dəyərsiz return
Əgər return dəyərsiz istifadə olunursa və ya tamamilə əskik olarsa, funksiya None qaytarır:
def print_message(text):
print(text)
return
result = print_message("Salam")
print(result) # None çap edəcək
return operatoru Python-da güclü bir vasitədir, proqram axınını idarə etmək üçün elastiklik təmin edir. O, funksiyalara təkcə gələcək istifadə üçün dəyərlər qaytarmaqla yanaşı, icra loqikasını da idarə etməyə imkan verir, bu da kodu daha təmiz və asan başa düşülən edir.
8.2 pass operatoru
Python-da xüsusi bir operator var — pass, hansı ki heç nə etmir. pass operatoru kod bloklarında yer tutucu kimi istifadə olunur, harada ki, sintaksis baxımından məzmun tələb olunur, amma funksionallıq hələ müəyyən edilməyib (orada bir kod olmalıdır, amma hələ qərar verilməyib hansı olacağı).
Bu xüsusən böyük bir layihə üzərində çalışarkən və proqramı strukturlaşdırmaq istəyərkən, amma onun heç bir əməliyyat yerinə yetirməsini istəmədiyiniz hallarda faydalıdır. Aşağıda pass istifadəsinə bir neçə nümunə göstərilib.
Funksiya təyin edilməsində:
def my_function():
pass
Burada pass hələ bir reallaşma olmayan funksiyanı təyin etmək üçün istifadə edilir.
Döngülər və şərtlərdə:
for item in my_list:
pass
Döngü yaratmaq lazımdırsa, amma bədəndə heç nə etmək lazım deyilsə.
Siniflərdə:
Gələcəkdə istifadə üçün sinifin adını və strukturunu rezervasiya etmək məqsədilə metodlar və atributlar olmadan sinif təyin edilir.
pass operatoru inkişaf və test prosesində tez-tez istifadə olunur, harada ki, proqramın strukturu artıq aydındır, amma fərdi komponentlərin reallaşdırma təfərrüatları hələ müəyyən edilməyib. Bu proqramçıya kodu təşkil etməyə və tətbiqetmənin ümumi işinə ziyan vurmadan tədricən funksionallıq əlavə etməyə imkan verir.
8.3 Funksiyanın qaytarılması
Python-da bir funksiyanın digər bir funksiyanı qaytarmaq bacarığı closure* və birinci sinif funksiyaları dəstəyi sayəsində güclü bir alətdir. Bu dil xüsusiyyəti dekoratorlar* və funksiya fabrikləri* kimi konsepsiyaları istifadə edərək daha çevik və ifadəli proqramlar yaratmağa imkan verir.
Python-da funksiyalar obyektlərdir, yəni onları dəyişənlərə təyin etmək, digər funksiyalara arqument kimi ötürmək və ya onlardan nəticə olaraq qaytarmaq mümkündür. Bu imkan funksiyaları modul və asanlıqla test edilə bilən kod yaratmaq üçün çox güclü alətlərə çevirir.
Gəlin bir nümunə yaradaq: bir funksiya yazaq ki, bu funksiya bizə qüvvətə yüksəltmək üçün başqa funksiyalar yaratsın. Məsələn, bir funksiya kvadrat, digəri kub və s. yüksəltsin. Bu kod belə görünə bilər:
def power(exponent):
def inner(base):
return base ** exponent
return inner
square = power(2)
print(square(3)) # Çap edir 9
cube = power(3)
print(cube(3)) # Çap edir 27
Diqqət edin — power funksiyası inner funksiyasını çağırmır. Bunun əvəzinə, power funksiyasının içində parametr base ilə bir funksiya, inner elan edilir. Amma inner funksiyası yalnız elan edilmir, həmçinin içəridə exponent parametrindən istifadə edir.
GO TO FULL VERSION