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:
num = 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:
num = 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:
num = 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:
num = 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.
Aşağıdakı kodun icrasının nəticəsi nə olacaq:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Aşağıdakı kodun icrasının nəticəsi nə olacaq:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Aşağıdakı kodun icrasının nəticəsi nə olacaq:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)