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