Python Dersleri – Fonksiyonlarda Argüman Kullanımı

1. İsimli ve Sıralı Argümanlar:

Python’da fonksiyon tanımlarken birçok parametre kullanabiliriz. Ama bunu yapacaksak, fonksiyon çağrısı esnasında verdiğimiz argümanların sırası ile parametrelerin sırası aynı olmalı. Yani eğer ki biz fonksiyonumuza parametre olarak sırasıyla isim,soyisim ve yaş verdiysek, bu fonksiyonu çağırırken de değer olarak da sırasıyla bir isim, bir soyisim ve bir yaş değeri vermeliyiz. Ancak bu yöntem, çok parametreli fonksiyonlarda kullanıcıyı zora sokabilir. Çok fazla parametrenin akılda tutulması zor bir iştir. Bunun için isimli ve sıralı argümanlar (keyword arguments) kullanılır.

Fonksiyon çağrısı kısmında sadece parametre değerini vererek çağırmak yerine parametrenin adını ve değerini yazarak çağırırsak, herhangi bir sıralama işlemi gerekmez. Hemen bir kod örneği ile anlamaya çalışalım:

sirali_argüman

 

 

 

 

Kodumuzun çıktısı:

sirali_argüman_çikti

 

Görüldüğü üzere argümanlarımızı, parametrelerimizin sıralarına uygun olarak verdiğimizde çıktıda herhangi bir hata ile karşılaşmadık. Birde isimli ve sıralı argümanları kullanarak deneyelim:

sirali2

 

 

 

 

 

Kodumuzun çıktısı:

sirali_argüman_çikti

 

Gördüğünüz üzere, argümanlarımızı sıralı olarak vermediğimiz halde isimleri ile birlikte kullandığımız için yine bir sıkıntı olmadı.

2.İstenen Sayıda Sıralı Argüman Kullanımı:

Python’da bir fonksiyon tanımı sırasında istediğimiz sayıda argüman kullanmamız mümkün. Bunu yapabilmek için “*arg” şeklinde ki bir yapıdan faydalanabiliriz. Fonksiyon tanımı sırasında parantez içine *arg ifadesini yazarsak, fonksyion çağrısı esnasında istediğimiz kadar argüman kullanabiliriz. Hemen kodumuzu inceleyelim:

sporlar

 

 

 

 

 

Ekran çıktısı:

sporlar_çıktı

 

 

 

Kodumuzun yaptığı işlemi kısaca açıklamak gerekirse; spor fonksiyonu ile verilen argümanların hepsi sporlar dizisi altında toplanıyor diyebiliriz. Ve for döngüsü yardımıyla bu dizi altında ki tüm elemanlar için print işlemi yapılıyor. Dilerseniz bu argümanları fonksiyon içinde vermek yerine bir dizi şeklinde oluşturup (demet veya liste şeklinde de oluşturulabilir) , *dizi_adi formatında fonksiyon çağrısı içine yazarak da aynı işlemi yapabilirsiniz. Bir örnek ile açıklamak gerekirse;

ders123

 

 

 

 

 

Bu kodu çalıştırdığınızda da aynı çıktıyı alırız.

Özetle; önemli olan fonksyion çağrısı esnasında argüman olarak ‘*’ ile bir dizi adı verirsek, dizideki her eleman için fonksiyonumuz çalışır. Veya dizi vermek yerine fonksiyon tanımı esnasında istediğimiz sayıda argüman verebiliriz. Zira python verilen tüm bu argümanları bir dizi olarak algılayıp hepsi için fonksiyonumuzu çalıştıracaktır.

3.İstenen Sayıda İsimli Argüman Kullanımı:

Şimdi ise fonksiyon çağrısı esnasında argümanlarımızı nasıl isim ile birlikte istediğimiz kadar kullanabileceğimizi göreceğiz. Bunun için fonksiyon tanımlarken parantez içine ‘**sözlük_adi’ ifadesini yazmamız gerekir. Hemen örneğimize geçelim:

halit2

 

Ekran çıktısı:

halit_cıktı

 

 

Gördüğünüz üzere fonksiyon tanımı esnasında **kwargs diye bir ifade tanımladık. Bu sayede fonksiyon çağrımı esnasında verilen değerler kwargs sözlüğünün elemanları gibi yorumlanacak ve sözlükde ki her anahtar(key) ve değer(value) ifadesi için for döngüsü çalışarak ekrana yazdırılacaktır.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload CAPTCHA.