Die global-instruksie in Python
Gestel ons het 'n eksterne globale
veranderlike i. Daar is ook 'n funksie
func wat een by hierdie
veranderlike tel:
i = 0
def func():
i += 1 # sal 'n fout wys
return i
Nadat die kode uitgevoer is, sal 'n fout
terugkom,
omdat daar 'n konflik is tussen die globale
i, wat in die eksterne kode verklaar is, en
die plaaslike i, waarb 1 bygetel word,
maar die veranderlike self is nog nie
verklaar nie. Om hierdie probleem op te los
en die funksie met die globale veranderlike te laat werk,
moet die global-instruksie gebruik word.
Hierdie instruksie is 'n verklaring wat
vir die hele huidige blok kode geld
waarin dit gestel is.
Kom ons herskryf die vorige voorbeeld deur
global in die funksieliggaam te verklaar:
def func():
global i
i += 1
return i
print(func()) # sal 1 wys
In die volgende kode het 'n programmeerder 'n fout gemaak:
num = 4
def func():
num *= 2
return num
print(func())
Wat is verkeerd met hierdie kode? Vind en korrigeer die outeur se fout.
In die volgende kode het 'n programmeerder 'n fout gemaak:
num = 10
def func():
num -= 3
return i
print(func())
Wat is verkeerd met hierdie kode? Vind en korrigeer die outeur se fout.