Skip to main content
Skip to - Close
Skip to - Close
Completion requirements

global Deyimi

Python’da değişkenlerin, fonksiyonların ve sınıfların bir kapsamı vardır. Bu kapsama "isim alanı" (namespace) adı verilir. Python’da her nesnenin, geçerli ve etkin olduğu bir isim alanı bulunur. Örneğin ana isim alanında (aynı zamanda fonksiyon dışında) tanımlanmış bir x değişkeni "global" bir değişkendir. Fonksiyon içindeki alan ise yerel bir alandır ve fonksiyon dışında tanımlanan bu x değişkeninden varsayılan olarak habersizdir. Dolayısıyla fonksiyon içerisinde, fonksiyonun dışarısında tanımlanmış bir değişkeni işleme tabi tutulmak istenirse hata alınacaktır. Bu hatanın önüne geçmek için fonksiyon dışında tanımlanan değişkenin fonksiyon içerisinde global deyimi ile birlikte bir kez kullanılması gerekmektedir.

Örnekler

Örnek 1:

x = 2

def ekle(sayi):
    x += sayi
    return x

print(ekle(3))

Ekran Çıktısı:

UnboundLocalError: local variable 'x' referenced before assignment

Örnek 2:

x = 2

def ekle(sayi):
    global x
    x += sayi
    return x

print(ekle(3))

Ekran Çıktısı:

5

Örneklerde görüleceği üzere ekle adındaki fonksiyon; sayi adındaki parametre ile gelen değeri fonksiyonun dışında tanımlanmış x değişkenin üzerine eklemeye ve x'in son değerini döndürmeye ayarlanmıştır. Örnek 1'de fonksiyonun x değişkeninden haberi olmadığı için buna yönelik bir hata mesajı göstermekte ve sonucu bulamamaktadır. Örnek 2'de ise "global x" ifadesi ile fonksiyon dışındaki x değişkeninden ekle fonksiyonu haberdar edilmiş ve ekleme işlemi yapılarak (2+3) sonuç hatasız bir şekilde döndürülmüştür.

Open in new window