Herkese Merhabalar,
Geçen hafta fonksiyonların ne kadar önemli olduğundan ve
fonksiyonların genel yapısından bahsetmiştim. Fonksiyonların bizler için ne
kadar önemli olduğunu artık daha iyi biliyoruz. Bu hafta size fonksiyonlarla
ilgili 3 deyimden bahsedeceğim. Bunlar global deyimi, return deyimi ve pass deyimi.
return deyiminden gecen yazımda biraz bahsetmiştim ama şimdi daha detaylı
anlatmaya başlayacağım.
global Deyimi
Fonksiyon içindeki bir değere fonksiyon dışından ulaşamayız.
Global deyimi kullanarak aslında bu mümkündür. Bunu bir örnek ile açıklamak
daha iyi olacaktır.
Bu fonksiyonu yazıp çalıştırdığınızda çıktısı şu şekilde
olacaktır.
Bu şekilde isim değişkeninin neye eşit olduğunu
görebiliyoruz fakat fonksiyon dışında isim değişkenini yazdırmaya çalışırsak ne
oluyor?
Bu kodu yazıp çalıştırdığınızda çıktısı şu şekilde
olacaktır.
Bu hata bize isim diye bir değişkenin olmadığını söylüyor.
Birde şöyle deneyelim o zaman.
Bu kodu yazıp çalıştırdığınızda çıktısı şu şekilde
olacaktır.
İsimi fonksiyon dışında Turkyilmaz olarak tanımladığımız
için artık foksiyon dışında isim değeri Turkyilmaz olarak geçiyor. Osman yazısı
ise fonksiyon içindeki isimin değeridir. Son olarak bir de şu kodumuzu yazıp
deneyelim.
Bu kodu yazıp çalıştırdığınızda çıktısı şu şekilde
olacaktır.
Burada isim değişkenini fonksiyon içinde global olarak
tanımladık. Bu şekilde artık isim değişkenine fonksiyon dışından da ulaşabilir
hale geldik. Bu kullanım işimizi çok kolaylaştırsa da yinede kullanırken çok
dikkatli olmak gerekir. Özellikle uzun kodlarda değişken adı bulmakta
zorlanırsanız bu deyim sizi biraz
zorlayabilir.
return Deyimi
Return kelimesinin Türkçe’ de anlamı “vermek, döndürmek,
iade etmek” anlamına gelmektedir. Yani bize istediğimiz şeyi döndürüyor. Peki,
bu ne demek?
Döndürmek aslında bir işlemin sonucu olarak çıkan değeri
vermek anlamına gelmektedir. Aslında kaba bir tabir ile fonksiyonlarda print
komutunun yerini return alıyor diyebiliriz. Bunu bir örnek ile anlatmak daha
iyi olacaktır.
Burada herhangi bir değer döndürmedik. Sadece isim değerini
ekrana yazdırmaya çalıştık. Bir de yukarıdaki fonksiyonu şu şekilde çağıralım.
Bu kodu yazıp çalıştırdığınızda çıktısı şu şekilde
olacaktır.
Burada gördüğümüz “None” değeri, fonk() adlı fonksiyonumuzun
otomatik olarak döndürdüğü değerdir. Yukarıdaki fonksiyonu print olmadan da
çağırabiliriz ve o zaman “None” yazısını görmezsiniz. Son olarak bir de şu kodu
yazıp deneyelim.
Bu kodu yazıp çalıştırdığınızda ekranda bir şey
göremeyeceğiz çünkü ekrana yazdırmak için print komutunu kullanmadık ama
fonksiyonu çağırırken başına print yazarsanız isim değişkeninin değerini
görebilirsiniz.
Peki, return ve print arasındaki fark nedir? Print sadece
ekrana yazdırma işlemi yaparken return ile elde ettiğiniz veriden ne
yapacağınız size kalmış. Yani return ettiğiniz şeyi başka yerde ulanabilirsiniz.
Pass Deyimi
“Pass” kelimesi Türkçe’de” geçmek, aşmak” gibi anlamlara
gelir. Python’da ise bu deyim herhangi bir işlem yapmadan geçeceğimiz
durumlarda kullanılır. Bir örnek ile anlatırsak daha iyi olacaktır.
Bu kodu yazdığımızda biden bir şey girmemizi isteyecek. Eğer
girdiğiniz şey Osman ise ekrana Turkyilmaz yazdıracak ama başka bir şey
yazarsanız hiçbir şey yapmayacak tekrar bir şey girmenizi isteyecektir. Bir
fonksiyon yazdığınızda gövdesini boş bırakamazsınız. Bu yüzden fonksiyonun
adını yazdıktan sonra gövdesine pass deyimini yazabilirsiniz.
Bu haftalık anlatacaklarım bu kadar. Bir dahaki yazımda
buluşmak dileğiyle.
Bilgi paylaştıkça güzelleşir. Paylaşarak öğrenmek dileğiyle.
Osman
Hiç yorum yok:
Yorum Gönder