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