Fonksiyonlar # 9 - Python Dersleri (Tutorials)

avatar
(Edited)

kapak.jpg

Merhabalar

Python programlama derslerinin bu bölümünde değişken parametreli fonksiyonlardan bahsedeceğiz.

Bu ders önceki derslerde öğrenilen bilgiler üzerine bina edileceğinden öncelikle önceki fonksiyonlar derslerini takip etmeniz tavsiye edilir.

Fonksiyonlar, parametreli ve parametresiz olarak ikiye ayrılır. Her fonksiyon parametre almak zorunda değildir. Bu durum fonksiyonun işlevi ile alakalıdır.

Parametre alan fonksiyonları hatırlatmak adına basit bir uygulama yapalım :

Örneğimizde topla() adında 3 parametre alan bir fonksiyon tanımladık. Fonksiyon bloğu içerisinde ise bu 3 parametreyi toplayıp ekrana yazdırdık.

Bu haliyle parametreli bir fonksiyon tanımlanmış oldu.

topla(1,2,4)

kodu ile de tanımlamış olduğumuz fonksiyonu çağırdık. Kod çalıştığında fonksiyona argüman olarak verilen bu 3 değerin toplamı ekrana yazdırılmış olur.

Parametreli fonksiyonlarda, fonksiyon kaç adet parametreye sahipse o kadar parametre verilmelidir.

Eğer programcı parametrelere varsayılan değerler atamışsa, sonrasında bu parametre sayısından eksik değer girebilir. Uygulamasını görelim :

Örneğimizde bilgiAl() adında iki parametre alan bir fonksiyon tanımladık. Fonksiyon tanımı esnasında da programcı olur da bu değerlerden birini girmezse diye varsayılan değerler atadık.

Fonksiyon tanımının hemen altında da olası durumlara göre fonksiyonumuzu çağırdık:

İlk örneğimizde fonksiyon, iki parametre verilerek çağrılmıştır.

İkinci örneğimizde ise fonksiyon, tek parametre verilerek çağrılmıştır. Verilmeyen parametre yerine ise varsayılan değer getirilmiştir.

Üçüncü örneğimizde programcı, parametreli fonksiyonu sanki parametresiz bir fonksiyonmuş gibi çağırmıştır. İki değer de verilmediğinden varsayılan değerler getirilmiştir.

Değişken Parametreli Fonksiyonlar

Buraya kadar fonksiyonlarla alakalı olarak şunu diyebiliriz:

Fonksiyonlar, sahip oldukları parametre sayısına kadar parametre alabilir.

Peki bir fonksiyona parametre sayısından daha fazla parametre verilebilir mi? Uygulamasını görelim :

topla() fonksiyonumuza 3 parametre yerine 4 parametre verdiğimizde yukarıdaki gibi bir hata aldık.

Böyle bir uygulamada her ne kadar hata almış olsak da, Python'da bunu pratik bir şekilde çözebiliriz.

Python'da bir fonksiyona değişken parametre aktarabiliriz. Bunun için parametrenin sol tarafına ' * ' karakterini koymamız yeterli.

Uygulama üzerinden gidelim :

Örneğimizde topla() fonksiyonunun parametre kısmına bit tek değer girip sol tarafına da yıldız işaretini koyduk. Sonrasında fonksiyon bloğu içerisinde x değerini yazdırabileceğimiz bir kod ekledik.

Şimdi topla fonksiyonunu farklı parametre değerleriyle çağırmayı deneyelim :

Örnekte görüldüğü gibi topla fonksiyonu farklı sayıdaki parametre değerleri ile çağrılabildi.

x ile ifade ettiğimiz yapı ise çıktıdan da görüldüğü gibi bir tuple'dır. Bu şekilde tuple veri tipi içerisindeki parametrelere erişmek için for döngüsünü kullanabiliriz.

Uygulama üzerinde görelim :

topla() fonksiyonunu değişken parametre alacak şekilde modifiye ettik. x, parametrelerimizi alacak tuple tipinde bir değişkendir.

Fonksiyon bloğu içerisindeki toplam değişkeni parametreleri toplamak için kullanılmıştır. for döngüsü ise parametreler içerisinde gezinmeyi sağlar.

Son olarak da print() fonksiyonu ile toplam değeri ekrana yazdırılmıştır.

Şimdi fonksiyonumuzu çağıralım :

Görüldüğü gibi gayet güzel çalışıyor.

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me



0
0
0.000
3 comments
avatar

Congratulations @elektroyazilim! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 100 comments. Your next target is to reach 200 comments.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

You can upvote this notification to help all Steem users. Learn how here!

0
0
0.000