return

return komutunun anlamı 'döndürmek, iade etmek' şeklindedir. Bizler bu komutu yalnızca fonksiyonlarda kullanabiliyoruz. Peki, neden?

Fonksiyonlar, biz görmesek bile her zaman varsayılan olarak bir değer döndürür. Ne demek istiyorum?

Gördüğünüz gibi sonucumuz geldi. Bu noktada eğer topla(2, 4) ifadesini daha sonra da kullanabilmek için bir değişkene atarsam sizce ne olur? Mesela ben, topla() fonksiyonunun 2 ve 4 parametreleri ile ürettiği değeri bir değişkende saklamak ve onu ileriki zamanlarda kullanmak istiyorum. Deneyelim.

İşlem aslında başarılı. Ancak sonucun altında baktığınızda 'None' ifadesinin yer aldığını görüyorsunuz. Bu, fonksiyonumuzun varsayılan olarak ürettiği daha doğrusu üretemediği bir değerdir. Bu fonksiyonda return ifadesini kullanmadığımız için bize bir değer döndüremiyor; yalnızca print ile ekrana yazdırma işlemini yapıyor. Peki, return kullanmayı denesek ne olur?

Gördüğünüz gibi bu sefer 'None' diye bir ifade yok. Ayrıca oradaki '6', fonksiyonumuzun döndürdüğü (return ettiği) değerdir; print ile yazdırılmış bir değer değildir. Bu değer return edildiği için biz, çıkan değeri bir değişkene atayabiliyor ve bunu daha sonra kullanabiliyoruz. Aynı değildir ama aslında burada sonucu, bir nevi 'global' yapıyoruz.

Tekrar bakalım.

Bakın, fonksiyonun görevi iki sayıyı toplamak ve bunları ekrana yazdırmaktır. Çıktı kısmında üst kısımda bulunan sonuç, print ile yazdırma işleminin sonucudur. Yani aslında bir değer döndürmüyor; sadece yazdırma işlemini yapıyor. İşte tam bu yüzden ben bunun sonucunu daha sonra da kullanabilmek için bir değişkene atadığımda bunun 'None' değer döndürdüğünü yani değer döndürmediğini görüyorum. Burada  eğer return kullanmış olsaydık fonksiyon bir değer döndürecekti. Dolayısıyla bunu ileriki zamanlarda kullanabilmek adına hem bir değişkene atayabilecek hem de daha farklı şekillderde kullanabilecektim. Yapalım.

Biraz önce 'Sonuç: None' çıktısını aldık. Şimdi ise 'Sonuç: 6' değerini aldık. return kullandığımız için basit bir print kullanmak yerine fonksiyonun döndürdüğü değeri çekebildik ve bunu ekrana yazdırabildik.

Az önce şu ifadeyi; "Aynı değildir ama aslında burada sonucu, bir nevi 'global' yapıyoruz." ve şu ifadeyi kullandım: "Dolayısıyla bunu ileriki zamanlarda kullanabilmek adına hem bir değişkene atayabilecek hem de daha farklı şekillderde kullanabilecektim.". Gördüğünüz üzere fonksiyonun döndürdüğü değeri bir değişkene atayabildiğim için bunu sonrasında daha farklı şekillderde de kullanabildim.

Son ama işe yarar bir bilgi daha vermek istiyorum. Fonksiyonda return ifadesinden sonra bir ifade getiremezsiniz.

Demek ki return ifadesi, bir fonksiyonu sonlandırmamıza da yarıyor.

return bu şekildeydi.


Yayınlanma Tarihi: 2022-11-01 20:52:59

Son Düzenleme Tarihi: 2022-11-07 16:57:30