Path: blob/master/Fonksiyonlar/Fonksiyonlarda Parametre Türleri.ipynb
765 views
Fonksiyonlarda Parametre Türleri
Bu derste fonksiyonlara parametre vermenin farklı yollarını öğrenmeye çalışacağız. İsterseniz hemen başlayalım.
Parametrelerin Varsayılan Değerleri
Biliyorsunuz önceki konularda şöyle bir fonksiyon tanımlamıştık.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-8fe4760a9706> in <module>()
----> 1 selamla() # Böyle bir kullanım hata verecektir.
TypeError: selamla() missing 1 required positional argument: 'isim'
Ancak biz eğer bir parametrenin değerini varsayılan olarak belirlemek istersek, bunu varsayılan değerler ile yapabiliriz. Varsayılan değerleri anlamak için selamla fonksiyonunu varsayılan parametre değeri ile yazalım.
İşte bu kadar ! Peki birçok parametreye sahip olursak ne olacak ? Bir fonksiyon daha tanımlayalım
Ancak böyle bir durumda argümanları gönderirken değerleri sıralı vermemiz gerekiyor. Peki sadece numara parametresine değer vermek istersek ne yapacağız ?
Aslında biz varsayılan değerleri kursumuzun en başlarında görmüştük. print fonksiyonunun sep parametresini hatırlayalım.
İsterseniz print fonksiyonun nasıl yazıldığına help fonksiyonu sayesinde bakalım.
Esnek Sayıda Değerler
Biliyorsunuz bir fonksiyon yazıldığında özel olarak kaç tane parametresi olacağını önceden belirtmemiz gerekiyor. Örneğin, bir toplama fonksiyonu yazalım.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-26-aeb23284c8f3> in <module>()
----> 1 toplama(3,4,5,6) # 4 tane argüman veremeyiz.
TypeError: toplama() takes 3 positional arguments but 4 were given
Eğer bu fonksiyonu 4 argüman alacak şekilde tanımlamak istersek, tekrardan tanımlamamız gerekiyor.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-30-35c9fb4ed348> in <module>()
----> 1 toplama(3,4,5) # Ancak bu seferde 3 argüman veremiyoruz.
TypeError: toplama() missing 1 required positional argument: 'd'
Peki ben bir fonksiyonu esnek sayıda argümanla kullanmak istersem ne yapacağım ? Bunun için de Yıldızlı Parametre kullanmam gerekiyor. Kullanımı şu şekildedir;
print fonksiyonunu tekrar hatırlayacak olursak aslında print fonksiyonu bu şekilde tanımlanmış bir fonksiyondur. Çünkü biz print fonksiyonuna istediğimiz sayıda argüman gönderebiliyorduk.
Bu konuda gördüğümüz gibi Python'ın bu özelliklerini kullanarak daha esnek fonksiyonlar yazabiliriz. Bir sonraki konuda Global ve Yerel değişkenleri öğrenmeye çalışacağız.