Arahan global dalam Python
Katakan kita mempunyai pembolehubah global luaran
i. Juga terdapat fungsi
func yang menambah satu kepada
pembolehubah ini:
i = 0
def func():
i += 1 # akan memaparkan ralat
return i
Selepas kod dilaksanakan, ralat akan dipulangkan,
kerana berlakunya konflik antara i global
yang diisytiharkan dalam kod luaran, dan
i tempatan, yang mana 1
ditambah, tetapi pembolehubah itu sendiri belum
diisytiharkan. Untuk menyelesaikan masalah ini
dan menetapkan fungsi untuk bekerja dengan
pembolehubah global, kita perlu menggunakan
arahan global. Arahan ini
merupakan pengisytiharan yang dilaksanakan
untuk seluruh blok kod semasa di mana ia
ditetapkan.
Mari kita tulis semula contoh sebelumnya, dengan
mengisytiharkan global dalam badan fungsi:
def func():
global i
i += 1
return i
print(func()) # akan memaparkan 1
Dalam kod berikut, seorang pengaturcara telah melakukan kesilapan:
num = 4
def func():
num *= 2
return num
print(func())
Apakah yang tidak kena dengan kod ini? Cari dan betulkan kesilapan pengarang kod.
Dalam kod berikut, seorang pengaturcara telah melakukan kesilapan:
num = 10
def func():
num -= 3
return i
print(func())
Apakah yang tidak kena dengan kod ini? Cari dan betulkan kesilapan pengarang kod.