Path: blob/master/Pythondaki Decoratorlar/İç içe Fonksiyonlar ve Fonksiyon Parametreleri.ipynb
765 views
İç içe Fonksiyonlar ve Fonksiyon Parametreleri
Bu bölümle birlikte decorator fonksiyonların mantığını anlamaya çalışacağız. Decoratorları daha iyi anlamak için fonksiyonlara biraz daha derinlemesine bakmaya çalışalım.
*args ve **kwargs
Fonksiyonlara argüman göndermenin esnek bir şekilde yapıldığını biliyoruz. İsterseniz ilk olarak yıldızlı argümanları hatırlamaya çalışalım.
Şimdi de yeni öğreneceğimiz keyword argümanlara bakalım.
Dikkat ederseniz 2 yıldız koyarak keyword argümanlar ile (anahtar kelimeli argümanlar) fonksiyonumuzu tanımladık ve argümanlara isim vererek fonksiyonumuzu çağırdığımızda isimleri anahtar kelime , argüman değerlerini değer olarak alarak fonksiyonumuz sözlük oluşturdu. İşte keyword argümanlar bu şekilde kullanılabiliyor.
Şimdi de *args ve **kwargs argümanlarını beraber kullanalım.
İç içe fonksiyonlar
Pythonda fonksiyonlar da birer obje oldukları için hem bir tane değişkene atanabilirler, hem de başka bir fonksiyonun içinde tanımlanabilirler. Şimdi bunlara bakmaya başlayalım.
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-36-476cfa688e53> in <module>()
----> 1 selamla
NameError: name 'selamla' is not defined
Şimdi de isterseniz iç içe fonksiyon tanımlamayı öğrenelim.
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-45-3ffe6a5f72a1> in <module>()
----> 1 fonksiyon2() # Lokal bir değişken olduğu için fonksiyon() çağrısından sonra yok oldu.
NameError: name 'fonksiyon2' is not defined
İşte bu kadar ! Bir sonraki dersimizde fonksiyonlara devam edeceğiz.