f(x) = 3 + 5x;
'i ele alalım. f(3) verdiğimizde, f(3) = 3 + 5(3) olacak ve bu da 18 olarak bize geri dönecek. Biz f(3) = 18'î görmüş olacağız. Programlama da fonksiyonlarda aynı mantıkla hareket ediyor ancak ufak bir farklılık var. Biz fonksiyonda birden fazla işlemi aynı anda yapabiliyoruz programlamada. Dolayısıyla oluşturduğumuz değerlerden hangisini kullanıcıya geri döndüreceğimizi seçmeliyiz. def f(x):
return 3 + 5x
f(3)
olarak çağırdığımızda bize 18 verecek. Eğer return keyword'ünü kullanmazsak, hiç bir şey vermeyecek. Bunun arkasındaki sebep daha öncede söylediğim gibi, biz fonksiyonlarda birden fazla değişken oluşturabiliyoruz ve birden fazla değişkenden, hangisinin kullanıcıya gitmesini istediğimizi seçmemiz gerekiyor. Hepsini gönderseydik, kullanıcılarında kafası karışırdı. Mesela bir şeyin faktöriyeline bakalım. g(x) = x!
dememiz yeterli. Ancak programlama da çoğu dilde bunu bizim için yapacak böyle bir şey yok. Bunu programda fonksiyona dökmek istediğimiz zaman, döngülerle şöyle yaparız; def g(x):
result = 1
for i in range(1, x + 1):
result *= i
return result
result
, ikincisi i
, üçüncüsü ise x
. Eğer fonksiyonda return yerine her şeyi dışarı çıkartma özelliği olsaydı, return hiç var olmamış olsaydı, kullanıcının kafası karışacaktı. O faktöriyel istemişti ama ben ona (120, 5, 5) göndermiş olacaktım... Bunun yerine return result
dediğimde programa sonucu göndermek istediğimi belirtmiş oluyorum, böylece kullanıcı da, faktöriyel'in sonucunu görüyor.return
ifadesi ise fonksiyonun sana vereceği geri dönütü belirler.def basicSum(a,b):
a+b
print(basicSum(2,3))
None
çıktısını alırsın. Çünkü return ifadesi ile herhangi bir veri döndürmeyen fonksiyonlar None
keyword'ünü döndürür.def basicSum(a,b):
result = a+b
return result
print(basicSum(2,3))
5
çıktısını alırsın.Beynimin son hücresini de buna harcadım ve sonunda anladım gibi. Cevaplarınız için teşekkürler.
return value
gibi bir ifade koyduğunda tabii Value fonksiyonun ortaya çıkardığı bir değişken atıyorum bir dosyadaki karakter sayısı olsun.print(fonksiyon())
yaptığınızda size Value değeri döner.Mükemmel anlatmışsınız hocamPython'da bir fonksiyonu çağırdığında, sırasıyla fonksiyon içerisinde yer alan işlemleri gerçekleştirirsin.return
ifadesi ise fonksiyonun sana vereceği geri dönütü belirler.
Örneğin benim basit bir toplama fonksiyonum olsun. Bu fonksiyon a ve b olmak üzere iki parametre alacak, a+b'yi döndürecek. Eğer ben sadece bir fonksiyon tanımlayıp a+b işlemini yaptırırsam bu işlem gerçekleşir fakat fonksiyon istediğin geri dönütü vermez. Sadece a ve b'yi toplamış olur. Ama sen return kullanarak a+b'yi sana döndürmesini istersen fonksiyon bu durumda işlemi gerçekleştirir ve sana a+b'yi döndürür. Hadi bunu deneyelim:
Python:def basicSum(a,b): a+b print(basicSum(2,3))
Yukarıdaki kod sana verdiğim ilk örnek. Basit bir toplama fonksiyonu tanımladım ve a+b işlemini yaptırdım. Bu kodu çalıştırdığındaNone
çıktısını alırsın. Çünkü return ifadesi ile herhangi bir veri döndürmeyen fonksiyonlarNone
keyword'ünü döndürür.
Python:def basicSum(a,b): result = a+b return result print(basicSum(2,3))
Yukarıdaki kod ise sana verdiğim ikinci örnek. Toplama işlemi yapıldı ve ardından fonksiyona neyi bize getirmesi gerektiğini söyledik. Bu kodu çalıştırırsan beklediğin üzere5
çıktısını alırsın.
Bunu farklı bir açıdan da ifade edebiliriz. Arkadaşından bir elma soymasını istedin. Arkadaşın bir elma soydu ama sana getirmedi, çünkü sana getirmesini istemedin, sadece elma soymasını istedin. Eğer sana getirmesini isteseydin sana getirirdi. Bu da ilginç bir örnek. *swh
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.