- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba! Büyük ve karmaşık programlar yazarken, aynı kod parçasını tekrar tekrar yazmak yerine, o kodu bir kez tanımlayıp istediğimiz yerde defalarca çağırmak isteriz. İşte Fonksiyonlar bu ihtiyaca cevap verir.
Bir fonksiyon:
Modülerlik sağlar: Büyük bir problemi küçük, yönetilebilir parçalara böler.
Yeniden kullanılabilirlik sağlar: Aynı kodu defalarca yazma ihtiyacını ortadan kaldırır ("Don't Repeat Yourself" - DRY prensibi).
Okunabilirliği artırır: Kodu daha anlaşılır ve düzenli hale getirir.
Bu yazıda, Python'da fonksiyonların nasıl tanımlandığını, nasıl kullanıldığını ve argüman (parametre) çeşitlerini öğreneceğiz.
Python'da bir fonksiyon tanımlamak için def anahtar kelimesi kullanılır.
def anahtar kelimesiyle başlanır.
Fonksiyona bir isim verilir (İsimlendirme kuralı değişkenlerle aynıdır).
Fonksiyon isminin ardından parantez () içine argümanlar (parametreler) yazılır (argüman yoksa bile parantez konulmalıdır).
Tanımlamanın sonunda iki nokta üst üste (:) konulur.
Fonksiyonun çalıştıracağı kod bloğu girintili olarak yazılır.
Örnek: Argümansız Fonksiyon
print("Merhaba, fonksiyona hoş geldiniz!")
# Fonksiyonu çağırma (kullanma)
selamla()
# Çıktı: Merhaba, fonksiyona hoş geldiniz!
return)Fonksiyonlar, kendilerine dışarıdan veri alarak (argümanlar) daha dinamik çalışır ve genellikle bir sonuç üretip bunu dışarıya döndürür.
Fonksiyon tanımlanırken parantez içine yazılan isimler parametre adını alır. Fonksiyon çağrılırken parantez içine yazılan değerler ise argüman adını alır.
print(f"Merhaba {isim}, nasılsın?")
# "Ayşe" bir argümandır
karsilama("Ayşe")
# Çıktı: Merhaba Ayşe, nasılsın?
return)return anahtar kelimesi, fonksiyonun çalışmasını durdurur ve belirtilen değeri fonksiyonu çağıran yere geri döndürür. Eğer return kullanılmazsa veya boş kullanılırsa, fonksiyon varsayılan olarak None değerini döndürür.
def topla(sayi1, sayi2):
sonuc = sayi1 + sayi2
return sonuc # Sonucu geri döndür
# Fonksiyonun döndürdüğü değeri bir değişkene atama
toplam = topla(10, 5)
print(toplam * 2)
# Çıktı: 30
Python, fonksiyon çağrılarında büyük esneklik sağlar.
Bir parametreye varsayılan bir değer atayarak, o argüman fonksiyona sağlanmadığında o varsayılan değerin kullanılmasını sağlayabiliriz.
(Varsayılan kullanıldı)
yetki_goster("Ece", "Yönetici") # Çıktı: Ece yetki seviyesi: Yönetici
kwargs)Fonksiyonu çağırırken argümanları isimleriyle (isim=değer) belirterek, argümanların sırasını önemsemeyebiliriz. Bu, özellikle çok sayıda parametre olduğunda okunabilirliği artırır.
def ozet_goster(isim, soyisim, yas):
print(f"İsim: {isim}, Yaş: {yas}, Soyisim: {soyisim}")
# Sıra önemli değil, isimleriyle çağrıldı
ozet_goster(yas=30, isim="Ali", soyisim="Yılmaz")
# Çıktı: İsim: Ali, Yaş: 30, Soyisim: Yılmaz
Python'da fonksiyonların hemen altına üç tırnak ("""...""") arasına yazılan açıklamaya Docstring denir. Bu, fonksiyonun ne yaptığını, hangi argümanları aldığını ve ne döndürdüğünü belgelemek için standart bir yöntemdir.
"""
Verilen iki sayıyı çarpar ve sonucu döndürür.
Parametreler:
x (int/float): Birinci sayı.
y (int/float): İkinci sayı.
Döndürür:
int/float: x ve y'nin çarpımı.
"""
return x * y
# Fonksiyonun belgelerine erişim
print(carp.__doc__)
5. pass Anahtar Kelimesi: Yer Tutucupass, Python'da boş bir işlem anlamına gelen bir yer tutucudur (placeholder). Python, girintili kod bloklarında (fonksiyonlar, if ifadeleri, for/while döngüleri, class tanımları) en az bir ifade beklediği için kullanılır.
Bir fonksiyon tanımlarken (örneğin, ileride yazacağınız bir fonksiyon için taslak oluştururken) içine hiçbir kod yazmazsanız, Python IndentationError (Girinti Hatası) verir. pass, bu hatayı önler.
Kullanım Amacı: Fonksiyonun söz dizimini (syntax) tamamlamak ve ileride doldurulacağını belirtmek.
def ileride_yazilacak_fonksiyon():
pass # Fonksiyon çağrıldığında hiçbir şey yapmaz, ancak hata da vermez.
ileride_yazilacak_fonksiyon()
Nedir: Boş bir ifade.
Ne Yapar: Hiçbir şey yapmaz, program akışını değiştirmez.
Neden Kullanılır: def, if, for gibi yapıların girintili kod bloğunda Python'ın bir ifade beklemesi durumunda, söz dizimi hatası almamak için kullanılır.
Fonksiyonlar, yazılım geliştirmenin temelidir. Küçük, iyi tanımlanmış ve düzenli fonksiyonlar kullanarak sadece zamandan tasarruf etmekle kalmaz, aynı zamanda hataları daha kolay izleyebilir ve iş arkadaşlarınızın (ve gelecekteki sizin) kodunuzu daha iyi anlamasını sağlarsınız.
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
Yorumlar
Yorum Gönder