Bu eğitimde Python Global değişkenleri, Yerel değişkenler, Yerel olmayan değişkenler ve bunların nerede kullanılacağını öğreneceksiniz.
Video: Python Yerel ve Global Değişkenler
Global Değişkenler
Python'da, işlevin dışında veya genel kapsamda bildirilen bir değişken, küresel değişken olarak bilinir. Bu, global bir değişkene işlevin içinden veya dışından erişilebileceği anlamına gelir.
Python'da global bir değişkenin nasıl oluşturulduğuna bir örnek görelim.
Örnek 1: Global Değişken Oluşturma
x = "global" def foo(): print("x inside:", x) foo() print("x outside:", x)
Çıktı
x içeride: global x dışarıda: global
Yukarıdaki kodda, global değişken olarak x'i yarattık ve x global değişkenini foo()
yazdırmak için a tanımladık . Son olarak, foo()
x'in değerini yazdıracak olanı diyoruz .
Ya bir fonksiyonun içindeki x'in değerini değiştirmek isterseniz?
x = "global" def foo(): x = x * 2 print(x) foo()
Çıktı
UnboundLocalError: atamadan önce başvurulan yerel değişken 'x'
Çıktı bir hata gösterir çünkü Python, x'i yerel bir değişken olarak görür ve x de içinde tanımlanmaz foo()
.
Bunun işe yaraması için global
anahtar kelimeyi kullanıyoruz. Daha fazla bilgi edinmek için Python Global Keyword sayfasını ziyaret edin.
Yerel Değişkenler
İşlevin gövdesinin içinde veya yerel kapsamda bildirilen bir değişken, yerel değişken olarak bilinir.
Örnek 2: Kapsam dışında yerel değişkene erişim
def foo(): y = "local" foo() print(y)
Çıktı
NameError: 'y' adı tanımlı değil
Çıktı bir hata gösteriyor, çünkü global bir kapsamdaki yerel bir değişken y'ye erişmeye çalışıyoruz, oysa yerel değişken sadece iç foo()
veya yerel kapsam içinde çalışıyor .
Python'da yerel bir değişkenin nasıl oluşturulduğuna dair bir örnek görelim.
Örnek 3: Yerel Değişken Oluşturma
Normalde, yerel bir değişken oluşturmak için fonksiyonun içinde bir değişken bildiririz.
def foo(): y = "local" print(y) foo()
Çıktı
yerel
X'in global bir değişken olduğu ve x'in içinde değiştirmek istediğimiz önceki probleme bir bakalım foo()
.
Global ve yerel değişkenler
Burada, global değişkenlerin ve yerel değişkenlerin aynı kodda nasıl kullanılacağını göstereceğiz.
Örnek 4: Global ve Yerel değişkenleri aynı kodda kullanma
x = "global " def foo(): global x y = "local" x = x * 2 print(x) print(y) foo()
Çıktı
küresel küresel yerel
Yukarıdaki kodda, x'i global, y'yi de yerel değişken olarak foo()
. Ardından, *
x global değişkenini değiştirmek için çarpma operatörünü kullanırız ve hem x hem de y yazdırırız.
The çağrıldıktan sonra foo()
, iki kez yazdırmak için global global
kullandığımız için x'in değeri olur . Bundan sonra, y yerel değişkeninin değerini yani değerini yazdırıyoruz .x * 2
global
local
Örnek 5: Global değişken ve aynı ada sahip yerel değişken
x = 5 def foo(): x = 10 print("local x:", x) foo() print("global x:", x)
Çıktı
yerel x: 10 global x: 5
Yukarıdaki kodda, hem global değişken hem de yerel değişken için aynı x adını kullandık. Aynı değişkeni yazdırdığımızda farklı bir sonuç elde ederiz çünkü değişken her iki kapsamda da, yani yerel kapsam içeride foo()
ve dışarıda global kapsamda bildirilir foo()
.
Değişkeni içine yazdırdığımızda foo()
çıktılar local x: 10
. Buna değişkenin yerel kapsamı denir.
Benzer şekilde, değişkeni dışına yazdırdığımızda, foo()
global x: 5 çıktı verir. Buna değişkenin global kapsamı denir.
Yerel Olmayan Değişkenler
Yerel olmayan değişkenler, yerel kapsamı tanımlanmayan iç içe geçmiş işlevlerde kullanılır. Bu, değişkenin ne yerel ne de genel kapsamda olamayacağı anlamına gelir.
Python'da yerel olmayan bir değişkenin nasıl kullanıldığına dair bir örnek görelim.
nonlocal
Yerel olmayan değişkenler oluşturmak için anahtar kelimeler kullanıyoruz .
Örnek 6: Yerel olmayan bir değişken oluşturma
def outer(): x = "local" def inner(): nonlocal x x = "nonlocal" print("inner:", x) inner() print("outer:", x) outer()
Çıktı
iç: yerel olmayan dış: yerel olmayan
Yukarıdaki kodda iç içe geçmiş bir inner()
işlev vardır. nonlocal
Yerel olmayan bir değişken oluşturmak için anahtar kelimeler kullanırız . inner()
Fonksiyon, başka bir fonksiyonu kapsamında tanımlanmıştır outer()
.
Not : Yerel olmayan bir değişkenin değerini değiştirirsek, değişiklikler yerel değişkende görünür.