Python'da Global Değişkenler Nasıl Kullanılır (global Anahtar Kelime)
Python'da global değişkenlerin nasıl çalıştığını öğrenin. Değişken kapsamını, yerel ve global ad alanlarını ve global anahtar kelimeyi kullanarak değişkenlerin nasıl değiştirileceğini anlayın.
Genel Bakış
Ad alanlarını ve değişken kapsamını anlamak, Python'da hatasız yazılım yazmak için kritik öneme sahiptir. Kapsam, programınızın hangi bölümlerinin bir değişkene erişebileceğini veya değiştirebileceğini belirler. Tüm fonksiyonların dışında bildirilen bir değişken global kapsamda bulunur ve modülün herhangi bir yerinde okunabilir.
Ancak bir fonksiyon global bir değişkeni değiştirmeye (yeniden atamaya) çalıştığında bir sorun ortaya çıkar. Varsayılan olarak Python bir fonksiyonun içinde bir atama gördüğünde değişkenin fonksiyon için yerel olduğunu varsayar. Global bir değişkeni global olarak bildirmeden değiştirmeye çalışırsanız, Python aynı adda yerel bir değişken yaratacak ve global değişkeni değiştirmeden bırakacaktır (veya bir 'UnboundLocalError' yükseltecektir).
Python'a yerel bir değişken oluşturmak yerine global ad alanındaki bir değişkeni değiştirmek istediğinizi açıkça söylemek için, bunu fonksiyonun içindeki 'global' anahtar sözcüğünü kullanarak bildirmeniz gerekir. Global değişkenlerin kullanılması bazen gerekli olsa da, durumu izlemeyi ve hata ayıklamayı zorlaştırdığı için büyük yazılım tasarımında genellikle kötü bir uygulama olarak kabul edilir.
Kod ve Yürütme Çıkışı
Bu komut dosyası, global değişkenleri okumayı, değişken gölgeleme tuzağını ve global anahtar kelimeyi kullanarak global değişkenleri değiştirmeyi gösterir.
counter = 10 # Global variable
def read_counter():
# Reading a global variable works out-of-the-box
print("Reading global counter:", counter)
def shadow_counter():
# Attempting to assign without 'global' creates a local variable
counter = 20 # Shadowing
print("Inside shadow function:", counter)
def modify_counter():
global counter # Declaring we are writing to global scope
counter = 50
print("Inside modify function:", counter)
read_counter()
shadow_counter()
print("Counter after shadow function:", counter) # Remains 10
modify_counter()
print("Counter after modify function:", counter) # Now 50Reading global counter: 10
Inside shadow function: 20
Counter after shadow function: 10
Inside modify function: 50
Counter after modify function: 50Adım Adım Uygulama
- Herhangi bir işlev kapsamı dışında genel olarak erişilmesi gereken değişkenleri bildirin.
- Özel bildirimler eklemeden herhangi bir işlevin içindeki genel değişkenleri okuyun.
- Genel değişken değerini değiştirmeniz gerekiyorsa, işlevlerin içindeki global anahtar sözcüğünü (örneğin, global sayaç) kullanın.
- Kapsam karışıklığını ve ad alanı kirliliğini önlemek için genel değişken kullanımını sınırlayın.
Sıkça Sorulan Sorular
Python'da değişken gölgeleme nedir?
Yerel kapsam içinde bildirilen bir değişken (bir işlev gibi), dış küresel kapsamdaki bir değişkenle aynı ada sahip olduğunda gölgeleme meydana gelir. Yerel değişken global değişkeni maskeleyerek bu kapsamda geçici olarak erişilemez olmasını sağlar.
Küresel ve yerel olmayan anahtar kelimeler arasındaki fark nedir?
global, en dıştaki modül kapsamında tanımlanan değişkenlere erişmek için kullanılır. yerel olmayan, çevreleyen (dış) işlev kapsamında tanımlanan değişkenlere erişmek için iç içe geçmiş işlevlerin içinde kullanılır.
İlgili Konular
Python'da try, hariç, else ve nihayet bloklarını kullanarak istisnaları nasıl ele alacağınızı öğrenin. Hatasız ve çökmeye dayanıklı Python kodu yazın.
Python'da Sınıf Nasıl OluşturulurPython'da nasıl sınıf oluşturulacağını öğrenin. __init__ yapıcısında, örnek yöntemlerinde, self anahtar sözcüğünde ve nesne örneklemesinde ustalaşın.
Önerilen Python Kaynakları
İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.
Python Değişkenleri ve Veri Türlerinin Açıklaması
Python değişkenlerini ve temel veri türlerini (dizeler, tamsayılar, kayan noktalar, boolean'lar) anlayın. Python'da hafıza atamaya yönelik eksiksiz bir başlangıç kılavuzu.
Python String Yöntemleri Hile Sayfası
Python dize manipülasyonu için eksiksiz bir başvuru kılavuzu. Dize özelliklerini biçimlendirme, arama, bölme, değiştirme ve denetleme konusunda uzmanlaşın.
Python vs JavaScript: Hangi Programlama Dili En İyisidir?
Python ve JavaScript arasında kapsamlı bir karşılaştırma. Sözdizimi farklılıklarını, performansı, kullanım örneklerini (arka uç ve ön uç) ve kodlama örneklerini keşfedin.