Python හි global උපදෙස
අපට පිටත global
විචල්යයක් i ඇතැයි සිතමු.
මෙම විචල්යයට එකක් එකතු කරන
func ශ්රිතයක් ද ඇත:
i = 0
def func():
i += 1 # දෝෂයක් එළියේ දක්වනු ඇත
return i
කේතය ක්රියාත්මක කිරීමෙන් පසු දෝෂයක්
ආපසු එනු ඇත,
ඊට හේතුව පිටත කේතයේ ප්රකාශයට පත් කරන ලද global
i සහ
1 එකතු කරන
i දැනටමත් ප්රකාශයට පත් කර නොමැති
local i අතර ගැටුමක් ඇතිවීමයි. මෙම
ගැටළුව නිවැරදි කර ශ්රිතය global විචල්යය සමඟ
වැඩ කිරීමට අර්ථ දැක්වීම සඳහා,
අපි global උපදෙස භාවිතා කළ යුතුය. මෙම උපදෙස
යනු එය නියම කර ඇති සම්පූර්ණ වත්මන් කේත ගොනුව සඳහා
ක්රියාත්මක වන ප්රකාශයකි.
ශ්රිතයේ අඩංගුව තුළ global ප්රකාශයට පත් කරමින්
කලින් උදාහරණය නැවත ලියමු:
def func():
global i
i += 1
return i
print(func()) # 1 එළියේ දක්වනු ඇත
පහත කේතයේ යම් ක්රමලේඛකයෙකු දෝෂයක් සිදු කර ඇත:
num = 4
def func():
num *= 2
return num
print(func())
මෙම කේතයේ ඇති වරද කුමක්ද? සොයාගෙන කේත රචකයාගේ දෝෂය නිවැරදි කරන්න.
පහත කේතයේ යම් ක්රමලේඛකයෙකු දෝෂයක් සිදු කර ඇත:
num = 10
def func():
num -= 3
return i
print(func())
මෙම කේතයේ ඇති වරද කුමක්ද? සොයාගෙන කේත රචකයාගේ දෝෂය නිවැරදි කරන්න.