Python Global Anahtar Kelimesi (Örneklerle)

Bu makalede, global anahtar kelime, global değişken ve global anahtar kelimelerin ne zaman kullanılacağı hakkında bilgi edineceksiniz.

Bu makaleyi okumadan önce, Python Global, Yerel ve Yerel Olmayan Değişkenler hakkında bazı temel bilgilere sahip olduğunuzdan emin olun.

Global anahtar kelime nedir

Python'da globalanahtar sözcük, değişkeni geçerli kapsamın dışında değiştirmenize izin verir. Global bir değişken oluşturmak ve değişkeni yerel bir bağlamda değiştirmek için kullanılır.

Global Anahtar Kelime Kuralları

globalPython'da anahtar kelime için temel kurallar şunlardır:

  • Bir fonksiyonun içinde bir değişken yarattığımızda, bu varsayılan olarak yereldir.
  • Bir fonksiyonun dışında bir değişken tanımladığımızda, varsayılan olarak globaldir. globalAnahtar kelime kullanmak zorunda değilsiniz .
  • globalBir fonksiyonun içindeki global bir değişkeni okumak ve yazmak için anahtar kelimeyi kullanırız .
  • Kullanımı globalbir fonksiyonu dışında anahtar kelime etkisi yoktur.

Global Anahtar Kelime Kullanımı

Bir örnek alalım.

Örnek 1: Bir Fonksiyonun İçinden Global Değişkene Erişim

 c = 1 # global variable def add(): print(c) add()

Yukarıdaki programı çalıştırdığımızda çıktı şöyle olacaktır:

 1

Ancak, global değişkeni bir fonksiyonun içinden değiştirmemiz gereken bazı senaryolarımız olabilir.

Örnek 2: Global Değişkeni Fonksiyonun İçinden Değiştirme

 c = 1 # global variable def add(): c = c + 2 # increment c by 2 print(c) add()

Yukarıdaki programı çalıştırdığımızda çıktı bir hata gösteriyor:

 UnboundLocalError: atamadan önce başvurulan yerel değişken 'c'

Bunun nedeni, yalnızca global değişkene erişebilmemiz ancak onu işlevin içinden değiştiremememizdir.

Bunun çözümü globalanahtar kelimeyi kullanmaktır .

Örnek 3: Global Değişkeni Global Kullanarak Bir Fonksiyonun İçinden Değiştirme

 c = 0 # global variable def add(): global c c = c + 2 # increment by 2 print("Inside add():", c) add() print("In main:", c)

Yukarıdaki programı çalıştırdığımızda çıktı şöyle olacaktır:

 İçeride ekle (): 2 Ana olarak: 2

Yukarıdaki programda, c'yi add()fonksiyonun içinde global bir anahtar kelime olarak tanımlıyoruz .

Daha sonra c değişkenini 1yani, artırıyoruz c = c + 2. Bundan sonra add()fonksiyonu çağırıyoruz . Son olarak, global değişken c'yi yazdırıyoruz.

Gördüğümüz gibi, fonksiyonun dışındaki global değişkende de değişiklik meydana geldi c = 2.

Python Modülleri Arasında Global Değişkenler

Python'da, config.pyglobal değişkenleri tutmak ve bilgileri aynı program içindeki Python modülleri arasında paylaşmak için tek bir modül oluşturuyoruz .

İşte global değişkenleri python modülleri arasında nasıl paylaşabiliriz.

Örnek 4: Python Modülleri Arasında global bir Değişkeni Paylaşın

config.pyGlobal değişkenleri depolamak için bir dosya oluşturun

 a = 0 b = "empty"

update.pyGlobal değişkenleri değiştirmek için bir dosya oluşturun

 import config config.a = 10 config.b = "alphabet"

Değerdeki main.pydeğişiklikleri test etmek için bir dosya oluşturun

 import config import update print(config.a) print(config.b)

main.pyDosyayı çalıştırdığımızda çıktı

 10 alfabe

Yukarıdaki, biz üç dosya oluşturduk: config.py, update.py, ve main.py.

Modül config.py, a ve b'nin global değişkenlerini depolar. Gelen update.pydosyanın biz ithal config.pymodülü ve a ve b değerlerini değiştirin. Benzer şekilde, içinde main.pydosyanın, biz de ithal config.pyve update.pymodül. Son olarak, değiştirilmiş olsun ya da olmasın global değişkenlerin değerlerini yazdırıp test ediyoruz.

İç İçe İşlevlerde Global

İç içe geçmiş işlevde bir global değişkeni nasıl kullanabileceğiniz aşağıda açıklanmıştır.

Örnek 5: İç İçe İşlevde Global Değişken Kullanma

 def foo(): x = 20 def bar(): global x x = 25 print("Before calling bar: ", x) print("Calling bar now") bar() print("After calling bar: ", x) foo() print("x in main: ", x)

Çıktı:

 Aramadan önce: 20 Arama engelleme şimdi engelleme Aramadan sonra: 20 x esas olarak: 25

Yukarıdaki programda, iç içe geçmiş fonksiyonun içinde global bir değişken tanımladık bar(). Inside foo()işlevi, x'in global anahtar sözcüğü üzerinde etkisi yoktur.

Çağırmadan önce ve sonra bar(), x değişkeni yerel değişkenin değerini yani yani x = 20. foo()Fonksiyonun dışında, x değişkeni, bar()yani fonksiyonda tanımlanan değeri alacaktır x = 25. Bunun nedeni global, bar()işlev içinde (yerel kapsam) global değişken oluşturmak için x'te anahtar sözcük kullanmış olmamızdır .

bar()İşlevin içinde herhangi bir değişiklik yaparsak , değişiklikler yerel kapsamın dışında görünür, yani foo().

Ilginç makaleler...