Python'da Kapsam Alanlarıyla Çalışmanın Nüansları

Yerel ve global değişkenlerle çalışmanın önemli nüanslarını ele alalım.

Bir tane global <num değişkenimiz olduğunu varsayalım. Global <num'yi konsola yazdıracak bir <func fonksiyonu oluşturalım:

pythonnum = 1

def func():
  print(num)

func() # 1 yazdırır

Şimdi fonksiyonun içinde, <print satırının altına yerel bir <num tanımlayalım. Kod çalıştırıldıktan sonra konsola bir hata yazdırılacak. Bunun nedeni, Python'un fonksiyon içinde <num'yi sadece henüz tanımlanmamış bir yerel değişken olarak algılamasıdır:

pythonnum = 1

def func():
  print(num) # hata verir
  num = 2

Şimdi fonksiyonun içindeki kodu, <num değişkeninin değerinin <2 artacak şekilde yeniden yazalım:

pythonnum = 1

def func():
  num += 2 # hata verir

Hatanın nedeni, <num += 2 ifadesinin aslında şu şekilde yazılabilmesidir:

pythonnum = num + 2

Ancak, üzerine ekleme yapılan yerel değişkenin kendisi henüz tanımlanmamıştır. Ve buna bağlı olarak Python, bir sayının var olmayan bir değere eklenemeyeceği için hata verir.

Задание 1

Aşağıdaki kodun çalıştırılmasının sonucu ne olacak:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

Aşağıdaki kodun çalıştırılmasının sonucu ne olacak:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

Aşağıdaki kodun çalıştırılmasının sonucu ne olacak:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)