Python’da Global ve Yerel Değişkenler nedir? Nasıl kullanılır?

Bu yazımızda da fonksiyonların kapsama alanına giren Global ve Yerel (Local) Değişkenler’in neler olduğunu öğreneceğiz.

Değişkenler

Değişkenler en basit haliyle bir veriyi bellekte depolayan birimlerdir. Python’da her bir değişkenin ve fonksiyonun bir kapsama alanı (scope) bulunur. Python her bir değişkeni bir isim alanına (namespace) tanımlar.

Yerel Değişkenler

Fonksiyonlarda tanımlanan değişkenler yerel değişkenler olarak adlandırılır. Yerel değişkenlerle kastettiğimiz şey değişkenlerin fonksiyona özgü olması ve fonksiyonun işi bittikten sonra bellekten silinip kaybolmasıdır. Böyle değişkenlere başka bir yerden erişilemez.

Hemen bir örnek verelim .

Burada bir yerel değişken oluşturduk ve değişken fonksiyonumuzun işi bittikten sonra yok oldu. Bu yüzden yukarıdaki kodu yazmanız durumunda “m” değişkenin olmadığına dair bir hata mesajı alırsınız.

Global Değişkenler

Yerel Değişkenlerin ne olduğunu öğrendik şimdi de Global Değişkenler’in ne olduğuna bakalım.

Global Değişkenler Python’da bir fonksiyonun dışında ya da global kapsamda bildirilen değişkenlerdir. Yani Global Değişkenler’e fonksiyonun içinde veya dışında erişebiliriz. Bir örnek verelim.

Yukarıdaki örnekte“a” değişkenini global değişken olarak tanımladık ve “a” değişkenini yazdırmak için bir foo tanımladık.

Şimdi sizlere şöyle bir soru sormak istiyorum: “a” değişkeninin değerini değiştirmek istersek ne olur? Hemen deneyelim.

Gördüğünüz gibi Python “a” değişkenini yerel bir değişkenmiş gibi gördü ve hata mesajı verdi. Bunun nedeni “a” değişkeninin foo içinde tanımlanmamasından kaynaklanmaktadır.

Global ve Yerel Değişkenler

Global ve Yerel Değişkenlerin neler olduğunu öğrendik. Şimdi de bu iki değişkeni aynı kodda nasıl kullanacağımızı öğrenelim.

Yukarıda “a” değişkeni global ve “b” değişkenini yerel olarak atadık. Ardından çarpma operatörünü kullanarak üzerinde işlemler yaptık.

Yerel Etki Alanından Global Etki Alanını Değiştirmek

Global ve yerel değişkenlerin neler olduğunu ve etki alanlarını öğrendik. Şimdi de yerel bir değişkenle global etki alanını nasıl değiştireceğimize bakalım.

İlk olarak “x” adında boş bir liste oluşturduk. Ardından listemize eleman eklememizi sağlayan bir fonksiyon yazdık ve “m” elemanını listeye eklemesini istedik. Burada listemiz bir global değişken ve “append” komutu bir yerel değişkendir. Python ilk olarak yerel değişkenleri bulmaya dayalı bir programlama dili olduğu için “x” elemanını önce yerel etki alanında arayacaktır. Ancak bulamadığı için bu sefer global etki alnına geçecek ve “x” elemanını bulmuş olacaktır. Aslında yaptığımız şey global etki alanını etkilemek adına bir yol bulmaya çalışmak. Bu özellik sayesinde listemize yeni eleman ekleme işlemini kolayca yapabiliriz.

Yerel Olmayan Değişkenler

Python’ın 3. sürümü yerel olmayan değişkenleri yeni bir değişken olarak sundu. Peki bu değişkenlerin global ve yerel değişkenlerden farkı nedir?

Yerel olmayan değişkenler yerel kapsamı tanımlanmamış iç iç işlevlerde kullanılır. Böylece değişken ne global ne de yerel kapsama girer. Biraz kafanız karışmış olabilir. Vereceğim örnekle daha iyi anlayacağınız düşünüyorum.

Üstteki programımızın çıktısı “Paris” olarak dönecektir.

Bu programda da global bir değişkeni yerel olmayan bir değişkene çevirdik.

Bir yazının daha sonuna geliş bulunmaktayız. Bu yazımızda Global, Yerel ve Yerel Olmayan Değişkenlerin neler olduğunu ve kullanımları öğrendik. Umarım sizler için faydalı bir yazı olmuştur. Bir sonraki yazıda görüşmek dileğiyle.

Bir Cevap Yazın