Python Global, Yerel ve Yerel Olmayan değişkenler (Örneklerle)

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 globalanahtar 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 globalkullandığı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 * 2globallocal

Ö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.

nonlocalYerel 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. nonlocalYerel 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.

Ilginç makaleler...