7.1 Funksiyaların yaradılması
Python-da funksiyaların yaradılması proqramlaşdırmanın əsas aspektlərindən biridir və bu, kodu daha modulyar, təkrar istifadə edilə bilən və oxunaqlı edir. Python-da funksiyalar def
keyword-u ilə elan olunur, sonra funksiyanın adı və mötərizədə parametrlər gəlir.
Həmişə funksiya haqqında bir sıra əmrlər kimi təsəvvür edə bilərsiniz, hansı ki, bir qrupa toplanıb və həmin qrupa bir ad verilib. Funksiyanın ümumi forması belədir:
def ad(parametrlər):
əmr1
əmr2
əmrN
Python-da ən sadə funksiya belə görünə bilər:
def greet():
print("Hello, World!")
Funksiyanı çağırmaq üçün onun adını yazıb mötərizələri əlavə edin:
greet() # Çıxış: Hello, World!
Funksiya çağırmaq, onun daxilindəki kodu çağırış yerində yazmaqla eynidir. Eyni kodu dəfələrlə yazmaq əvəzinə, onu ayrıca bloklar şəklində rəsmiləşdirib, ad vermək olar.
7.2 Funksiyaya arqumentlərin ötürülməsi
Funksiyalarla işləmək elə də maraqlı olmazdı, əgər onlar hər zaman eyni şeyi edərdilərsə — sadəcə adlandırılmış komanda bloku vəssalam. Bunun əvəzinə, funksiyalar üçün dərhal parametrlər yaradıldı — onların vasitəsilə funksiyaya müxtəlif dəyərlər ötürülə bilir.
Funksiyanın daxilindəki dəyişənlər funksiyanın parametrləridir. Konkret çağırış zamanı onlara ötürülən dəyərlər isə funksiyanın arqumentləridir. Funksiya parametrləri sadəcə arqumentlərin dəyərini qəbul edir.
def greet(name):
print("Salam,", name)
greet("Alice") # Çıxaracaq: Salam, Alice!
İki arqumenti olan funksiyanın nümunəsi:
def print_sum(a, b):
print(f"{a} və {b}-ın cəmi {a + b}-a bərabərdir")
print_sum(10, 15) # Çıxaracaq: 10 və 15-in cəmi 25-ə bərabərdir
Və əlbəttə, arqumentlər kimi tam ifadələr də ötürmək mümkündür:
def print_sum(a, b):
print(f"{a} və {b}-ın cəmi {a + b}-a bərabərdir")
print_sum(10*10-123, 15//2) # Çıxaracaq: -23 və 7-nin cəmi -16-ya bərabərdir
Faydalı! C/C++ sevənlər üçün — bütün dəyişənlər Python-da C++ baxımından referens (istinad) kimidir. Funksiyanın parametrləri də eyni. Dəyər heç vaxt kopyalanmır və ya çoxaldılmır — həmişə yalnız referens ötürülür.
7.3 Funksiya — bir obyekt
Python-də funksiyalar birinci dərəcəli obyektlərdir, yəni onlar hər hansı digər obyekt kimi istifadə edilə bilər. Bu, proqramçılara çevik proqram həlləri yaratmaq üçün güclü alətlər təqdim edir.
Funksiyalar obyektlər kimi
Birinci dərəcəli obyektlər kimi, Python-də funksiyalar aşağıdakı şəkildə istifadə edilə bilər:
- Dəyişənə təyin edilə bilər
- Başqa funksiyalara argument kimi ötürülə bilər
- Başqa funksiyalardan geri qaytarıla bilər
- Siyahılar, lüğətlər kimi struktur verilənlərə daxil edilə bilər
Nümunələr:
def shout(text):
return text.upper()
yell = shout
def greet(func):
greeting = func("Salam") # funksiyanı çağırırıq
print(greeting)
greet(shout)
Gələcəkdə bu mövzuya hələ dəfələrlə qayıdacağıq, amma hələlik bunu yadda saxlayın — Python-də hər şey obyektdir. Funksiyalar, siniflər, səhvlər, siyahılar, modullar — hər şey.
GO TO FULL VERSION