Anlamı ve Kullanımı
Python programlama dilinde, “kapsam” (scope) kavramı, bir değişkenin veya fonksiyonun hangi bölge veya alan içinde geçerli olduğunu belirtir. Kapsam, değişkenlerin erişilebilirliğini ve kullanılabilirliğini kontrol eder.
Kapsam (Scope) Nedir?
Python’da, her değişken veya fonksiyonun bir kapsamı vardır. Kapsam, bir değişkenin veya fonksiyonun nereden erişilebileceğini ve kullanılabileceğini belirler. Python, genel olarak iki tür kapsamı destekler:
- Yerel Kapsam (Local Scope): Bir değişken veya fonksiyon, tanımlandığı yerde yerel kapsama sahiptir. Bu, değişkenin veya fonksiyonun sadece tanımlandığı yerde erişilebilir olduğu anlamına gelir.
- Global Kapsam (Global Scope): Bir değişken veya fonksiyon, programın herhangi bir yerinde erişilebilir olabilir. Bu, değişkenin veya fonksiyonun programın herhangi bir bölümünden kullanılabileceği anlamına gelir.
Fonksiyon Kapsamı (Function Scope)
Python’da fonksiyonlar, kendi yerel kapsamlarına sahiptir. Yani, bir fonksiyon içinde tanımlanan değişkenler, sadece o fonksiyon içinde erişilebilir ve kullanılabilir. Bu, değişkenlerin başka fonksiyonlardan veya programın diğer bölümlerinden izole edildiği anlamına gelir.
İşte bir örnek:
def fonksiyon():
x = 10 # x, bu fonksiyonun yerel değişkenidir
print(x)
fonksiyon() # Fonksiyonu çağırma
print(x) # Hata! x, bu kapsamda tanımlanmamıştır
Yukarıdaki örnekte, “x” adlı bir değişken “fonksiyon” içinde tanımlanmıştır. Bu nedenle, “x” yalnızca “fonksiyon” içinde erişilebilir ve dışarıda kullanılmaya çalışıldığında hata verir.
Global Kapsam (Global Scope)
Python’da, fonksiyonlar dışında, programın en üst düzeyinde tanımlanan değişkenler global kapsama sahiptir. Bu, bu değişkenlerin programın herhangi bir bölümünden erişilebilir ve kullanılabilir olduğu anlamına gelir.
İşte bir örnek:
x = 10 # x, global değişkendir
def fonksiyon():
print(x)
fonksiyon() # Fonksiyon, globalde tanımlanan x'i kullanır
Yukarıdaki örnekte, “x” adlı bir değişken global kapsamda tanımlanmıştır. Bu nedenle, “fonksiyon” içinde kullanılmış ve erişilebilir bir değere sahiptir.
“global” Anahtar Kelimesi
Eğer bir fonksiyon içinde global bir değişkeni değiştirmek isterseniz, “global” anahtar kelimesini kullanabilirsiniz. İşte bir örnek:
x = 10 # x, global değişkendir
def fonksiyon():
global x # x'i global olarak tanımla
x = 20 # x'in değerini değiştir
fonksiyon() # Fonksiyon, globaldeki x'i değiştirir
print(x) # x'in değeri şimdi 20'dir
Yukarıdaki örnekte, “fonksiyon” içinde “global x” ifadesi kullanarak “x” değişkenini global kapsamda tanımladık ve değerini değiştirdik.
Özet
Python’da fonksiyon kapsamı (scope), bir değişkenin veya fonksiyonun nereden erişilebileceğini ve kullanılabileceğini belirler. Fonksiyonlar kendi yerel kapsamlarına sahiptir, bu nedenle bir fonksiyon içinde tanımlanan değişkenler yalnızca o fonksiyon içinde erişilebilir.