Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

readme.md

return

  • Bir fonksiyonu çalıştırdığımızda onun sonucuyla bir şeyler yapmak isteyebilirim. Sonucu bana versin diye özellikle söylemem lazım ve bunu return keyword'u ile sağlayacağız.

  • return yazmasaydık fonksiyon hiç bir şey döndürmezdi.

  • Fonksiyon tanımladığımı Python'a anlatmak için yapım:

def fonksiyonun_adı(input):

  • Öbür yapılarda da olduğu gibi, bir kod bloğunun belirttiğimiz yapıya ait olduğunu anlatmak için boşluk bırakarak içine yazmamız gerekiyor.

  • Verdiğimiz değerin karesini alan bir fonksiyon yazalım.

def square(x):
    x*x
  • Fonksiyonu tanımladıktan sonra tanımladığımız adla onu çağırabiliriz. Yapımız şöyle olacak: fonksiyonun_adı(inputlar), bir fonksiyonu çağırmak için inputlarını () 'ın içine yazmalıyız. Bazı durumlarda hiç input olmayabilir, bazı durumlarda birden çok olabilir.
square(3)
a = square(3)
a
print(a)
None
type(a)
NoneType
type(square(3))
NoneType
  • Bize x*x i değer olarak vermedi. Vermesi için bana o değeri döndür diye özellikle söylemem lazım. Bunu return ile sağlıyoruz.
def square(x):

    return x * x
square(2)
4
a = square(2)
a
4
b = 4
b + 2
6
  • Bu döndürülen değerin int 4 'ten bir farkı yok, nereden nasıl geldiği önemli değil, a = 4 dediğimdeki 4 ile aynı. Bu değerle istediğimi yapabilirim
1 + square(2)
5
  • Bilgisayar için o da sadece bir değerdi. Aşağıdaki örenekte de square(3) bize 9 döndürüyor, bilgisayar için aşağıdaki kod, square(9) ile aynıdır.
square(square(3))
81
  • Hiç bir inputu olmayada bilirdi.
def weird():
    return 5
weird()
5
  • Fonksiyonlar return'e geldikten sonrasına bakmıyor, return 'ün sağına yazılan değeri veriyor ve fonksiyondan çıkıyor.
def square(x):
    
    res = x * x
    
    return res
    
    print("Square of " + str(x) + ": " + str(res))
    
   
  • Bu yüzden burada bastırma kısmını yapmadı çünkü o kod return 'ün altında yer alıyor.
square(4)
16
square(4) + 2
18
def square(x):
    
    res = x * x
    
    print("Square of " + str(x) + ": " + str(res))
    
    return res
    
    
    
   
square(4)
Square of 4: 16





16
  • Fonksiyona durumsallık da katabiliriz.
def f(x):
    
    res = x * x
    
    if x % 2 == 0:
        
        return res
    else:
        return res + 10
    
    print("Square of " + str(x) + ": " + str(res))
    
   
f(10)
100
f(13)
179
  • Fonksiyonların içinde döngü mantığı da olabilir.
x = 300
def f(x):
    
    res = x * x
    
    for i in range(10):
        res += 20
        return res
        print("hey")
f(10)
120
f(10) + 23
143
def f(x):
    
    res = x * x
    
    for i in range(10):
        res += 20
        
    return res
f(10)
300
def f(x):
    
    l = []
    res = x * x
    for i in range(10):
        res += 20
        l.append(res)
    return l
f(10)
[120, 140, 160, 180, 200, 220, 240, 260, 280, 300]

Void Fonksiyonlar (Değer Döndürmeyen Fonksiyonlar)

def f(x):
    x = 2
f(2)
f(10) + 4
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-85-abd191062736> in <module>
----> 1 f(10) + 4


TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
print(f(3))
None
type(f(3))
NoneType
# Bu kod x in karesini değer olarak bize vermiyor, sadece ekrana bastıracak
def square(x):
    
    print(x,"in/ün/un karesi:", x*x)
square(3)
3 in/ün/un karesi: 9
type(square(4))
4 in/ün/un karesi: 16





NoneType
# hem bir değer bastırıp aynı anda o değeri döndüre de bilirdi


def square(x):
    
    res = x * x
    
    print(x,"in/ün/un karesi:", x*x)
    
    return res
square(4)
4 in/ün/un karesi: 16





16
square(4) + 2
4 in/ün/un karesi: 16





18