Python-return deyimi

Dizi derken neyi kastettiğinizi bilmiyorum. Farklı bir scope'ta kullanmayı sağlıyor. Biraz scope kavramından bahsedeyim isterseniz. scope'a, faaliyet alanı diyebiliriz.

Bir fonksiyonun içindeki herhangi bir değişken, o fonksiyon çalıştığı sürece ve yalnızca o fonksiyonun faaliyet alanı içerisinde tanımlıdır. Fonksiyonun dışına çıktığımızda bu değişken de hafızadan silinir.

def f():
    x = 1
    # x'in faaliyet alanı bu fonksiyondur.

# Bu kısımda x tanımsızdır.
print(x)

Yani şöyle düşünebilirsiniz. Girinti sayısının 0 olduğu alana global alan denir. global alanda yer alan değişkenlere her yerden ulaşılabilir. Bir fonksiyonda tanımlı olan bir değişkene ise sadece o fonksiyonda ve varsa o fonksiyonun altında tanımlı başka fonksiyonlardan ulaşılabilir.

def f():
    x = 1

    def g():
        print(x)

    g()

Tekrar bir gözden geçirelim isterseniz.

x = 1
# x, global bir değişkendir ve her alanda tanımlıdır,
# kendisine her alandan ulaşılabilir.

def f():
    y = 1
    # y yalnızca bu fonksiyonda tanımlıdır.

İşte biz bir fonksiyonda tanımlı olan herhangi bir değişkenin değerini, fonksiyonun dışına çıkarmak istediğimizde return ifadesini kullanırız.

x = 1

def f():
    return 2


y = f()

print(x + y) # <--- 1 + 2 = 3
2 Beğeni