Python-da global instruksiyası
Tutaq ki, bizim xarici global
dəyişən i var. Həmçinin bu dəyişənə
bir əlavə edən func funksiyası var:
i = 0
def func():
i += 1 # xəta çıxardacaq
return i
Kodu icra etdikdən sonra xəta qaytarılacaq,
çünki xarici koddə elan edilmiş global
i və 1 əlavə edilən lokal
i arasında qarşılıqlı təsir var,
lakin dəyişən hələ elan edilməyib. Bu problemi
həll etmək və funksiyanın dəqiq global dəyişənlə
işləməsini təyin etmək üçün global
instruksiyasından istifadə etmək lazımdır. Bu instruksiya
təyin olunduğu cari kod bloku üçün icra olunan
bir bəyandır.
Gəlin əvvəlki nümunəni funksiyanın gövdəsində
global elan edərək yenidən yazaq:
def func():
global i
i += 1
return i
print(func()) # 1 çıxardacaq
Aşağıdakı kodda bir proqramçı xəta etmişdir:
num = 4
def func():
num *= 2
return num
print(func())
Bu kodda nə səhvdir? Kodun müəllifinin xətasını tapın və düzəldin.
Aşağıdakı kodda bir proqramçı xəta etmişdir:
num = 10
def func():
num -= 3
return i
print(func())
Bu kodda nə səhvdir? Kodun müəllifinin xətasını tapın və düzəldin.