Press "Enter" to skip to content

Global Kapsam ve Lokal Kapsam

Yaşar SAFALI 0

Kapsamlar

Global Kapsam ve Lokal Kapsam

Python’da yer alan değişkenlerin,fonksiyonların ve sınıfların(class) bir kapsam alanı(scope) vardır.Nesnelerin geçerli ve etkin olduğu bu alanlara  isim alanları adı verilir.Global Kapsam ve Lokal Kapsam

y=5
def Yaz():
    y=8
    return y

print("fonksiyona ait y",Yaz())
print("fonksiyon dışındaki y",y)

Output:

fonksiyona ait y 8
fonksiyon dışındaki y 5

Görüldüğü gibi fonksiyonun içindeki y ve dışındaki y değerleri farklıdır.Çünkü ikisi farklı isim alanlarında oluşturulmuştur. Daha iyi anlayabilmek için iki y değişkenininde idlerini(kimlik numaralarını inceleyelim)

y=5
def Yaz():
    y=8
 
    return y

print("fonksiyona ait y",id(Yaz()))
print("fonksiyon dışındaki y",id(y))

fonksiyona ait y 1680829680
fonksiyon dışındaki y 1680829584

Python’da ana isim alanına global fonksiyonların içerisinde yer alan isim alanına ise lokal adı verilir.

Python’da  bir değişkene erişilmek istendiğinde o değişken önce mevcut isim alanında aranır.Bulunamazsa üst isim alanlarında aranır.Daha net anlayabilmek için şu örneği inceleyelim.

y=5
def Yaz():
   return y

print("fonksiyona ait y",Yaz())
print("fonksiyon dışındaki y",y)

fonksiyona ait y 5
fonksiyon dışındaki y 5

y değişkeni fonksiyon içerisinde olmadığı için bir üst isim alanında yer alan değeri aldı.

Eğer değişken hem lokal hemde global alanda tanımlanmamışsa hata ile karşılaşılır.

def Yaz():
   print(x)

Bu kod çalışmaz çünkü x değişkeni tanımlanmamıştır.

 

Lokal bir alanda tanımlanmış bir değişkeni global alana taşımak için global anahtar kelimesi kullanılır.Bu değişken üzerinde yapılacak değişiklik artık global alandaki değişkeni de etkileyecektir

y=5
def Yaz():
    y=8
    return y

print("fonksiyona ait y",Yaz())
print("fonksiyon dışındaki

Output:

fonksiyona ait y 8
fonksiyon dışındaki y 5

Kod incelendiğinde lokalde 8 atanan y değişkeninin  globaldeki y değişkeninden farklı olduğu görülmektedir.

y=5
def Yaz():
    global y
    y=8
    return y

print("fonksiyona ait y",Yaz())
print("fonksiyon dışındaki y",y)

Output:

fonksiyona ait y 8
fonksiyon dışındaki y 8

Kod incelendiğinde lokal alanda global olarak tanımlanmış y değişkeninin artık global alandaki y değişkeni olduğu görülmektedir.

Bir sonraki yazımızda görüşmek dileğiyle

.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

bahis forum film izle ataköy escort bakırköy escort bakırköy escort esenyurt türbanlı escort esenler escort bursa escort izmir escort escort izmir görükle escort eskişehir escort escort bursa izmit escort görükle escort esenyurt escort seks izle ankara escort bayan escort ankara altyazılı porno travesti porno