Şimdi Ara

Return Statement Ne İşe Yarıyor?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
245
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • def tax(bill):
    """Adds 8% tax to a restaurant bill."""
    bill *= 1.08
    print "With tax: %f" % bill
    return bill


    Değeri geri gönderdiğini biliyorum ama mantığını tam kavrayamadım. Yukarıdaki örnekte misal, "bill *= 1.08" ile zaten fonksiyonun değerini tanımlamış olmuyor muyuz? Ekstradan neden return demek zorundayız. Bu kodda return'ü silersek ne olur?



  • hangi dil bilmiyorum.c# ta return ifadesi olmazsa hata verir.çünkü fonksiyona başta döndüreceği veri tipini söylüyoruz fonksiyon içinde de bu veri tipinden birşey return etmek gerek.return ile çıkan sonucu gönderiyorsun aslında.bu fonksiyonun değeri demek değil.
  • Dil python2, niye 3 değil? 2'nin zamanı geçiyor artık, 3'ü öğrenmenizi tavsiye ederim.
    Çalıştığınız kaynak ne bilmiyorum ama bu soruyu sorduğunuza berbat bir kaynak veya siz kodu öylesine bir yerden buldunuz.

    return deyimini kaldırırsak o fonksiyon çalışır çalışır hiçbir şey olmaz.
    diyelim ki programın bir yerinde tax(100) diyerek fonksiyonu çağırdım, ne olur, boşu boşuna fonksiyon çalışır, elimde bir sonuç yok.

    return deyimini kaldırmadım, yerinde duruyor tax(100) dedim, ne olur, gene boşu boşuna çalışır. bu sefer elimde bir sonuç vardı ama ben onu tutmadım. o yüzden result = tax(100) dersem fonksiyon bana 108 döndürür, bunu result'a atadığım için de result = 108 olur.

    Fonksiyonda print ifadesi de varmış, o zaman fonksiyon boşu boşuna çalışmaz ekrana 108'i yazar, ama adam demek ki bu 108'i başka bir yerde kullanabilmek için geriye return etmiş, böylece bunu kullanarak bir şeyler daha yapabilecek.



    < Bu mesaj bu kişi tarafından değiştirildi bombergranade -- 3 Nisan 2018; 0:59:23 >




  • güzel bir dil seçmişsin başlangıç için. Python.. ama 2 yerine 3 ile başlayabilirsin.

    return etmezsen etmemiş olursun, zaten tek amacın bill'in değerini yazdirmaksa bişey geri döndürmene gerek yok.

    ama her zaman sonucu direk yazdırmak istemeyebilirsin. örneğin hesaplatıp sonuna para birimi olarak TL ve USD karşılığını ekletmek isteyebilirsin. her bir para birimi için bir fonksiyon yazıp hesaplatmaktansa bir tane hesaplama fonksiyonu yazıp, fonksiyonu çağırıp, sonuna para birimini yazabilirsin.

    ornek;

    def tax(bill):
    bill *= 1.08
    return bill

    calculatedTax = tax(50);
    print "With tax: %f TL" % calculatedTax
    print "With tax: %f USD" % (calculatedTax / 4)


    veya iki farklı taxlı hesabı toplaman gerekebilir;

    totalAmount = tax(50) + tax(60)
    print totalAmount

    gibi...

    ayrıca kendi fonksiyonlarını yazdıkça işlerin kötü gitmesi durumunda kendine özgü return'ler de yollayabilirsin. örnegin iki sayıyı birbirine bölen bir fonksiyon yazdın ama bölen parametresine kullanıcı 0 gönderdi.. fonksiyonuna eğer bölen 0 ise return "sıfıra bölüm tanımsız/anlamsız" diyebilirsin.

    bir şey daha; bir fonksiyona bir kaç kez return yazabilirsin. if statementları kullanarak..
    örnegin 10 tlden aşağısında tax hesaplatmadan aynı değeri döndürmek istiyorsun;

    def tax(bill):
    if bill<10: return bill
    bill *= 1.08
    return bill


    eğer fonksiyonun bir return ile karşılaşırsa hiç devam etmeden sonucu döndürür.. aşağılara bakmaz yani..



    < Bu mesaj bu kişi tarafından değiştirildi vona70 -- 3 Nisan 2018; 1:4:56 >




  • Hepinize teşekkür ederim. Kullandığım kaynak CodeAcademy. Bana da yetersiz geldi. Birkaç üzerinden daha da çalışacağım.
  • teknik açıklaması:fonksiyonu sonlandırır yanındaki ifade ile çağrılan koda geri döner.returnden sonraki deyimler çalıştırılmaz
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.