Python-da Görüntü Sahələri ilə İşin Nüansları

Lokal və qlobal dəyişənlərlə işin mühüm nüanslarını nəzərdən keçirək.

Tutaq ki, bizim num adlı qlobal dəyişənimiz var. Gəlin func funksiyasını yaradaq, hansı ki, konsola qlobal num dəyişənini çıxardacaq:

pythonnum = 1

def func():
  print(num)

func() # 1 çıxardacaq

İndi isə print funksiyasından aşağıdakı sətirdə lokal num elan edək. Kod icra edildikdən sonra konsola xəta çıxarılacaq. Bu ona görə baş verir ki, Python funksiya daxilində num-u yalnız hələ ki elan edilməmiş lokal dəyişən kimi qəbul edir:

pythonnum = 1

def func():
  print(num) # xəta çıxardacaq
  num = 2

Gəlin indi funksiya daxilindəki kodu elə yenidən yazaq ki, num dəyişəninin dəyəri 2 vahid artsın:

pythonnum = 1

def func():
  num += 2 # xəta çıxardacaq

Xəta ona görə yaranır ki, num += 2 ifadəsi əslində aşağıdakı qeydi təmsil edir:

pythonnum = num + 2

Lakin, əlavə edilməsi həyata keçirilən lokal dəyişənin özü hələ ki elan edilməyib. Və müvafiq olaraq Python xəta çıxardır, çünki mövcud olmayan dəyərə ədəd əlavə etmək olmaz.

Задание 1

Aşağıdakı kodun icrasının nəticəsi nə olacaq:

pythontst = '12'

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

Aşağıdakı kodun icrasının nəticəsi nə olacaq:

pythontst = 'abc'

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

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

Aşağıdakı kodun icrasının nəticəsi nə olacaq:

pythontst = 'abc'

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