Python හි global උපදෙස

අපට පිටත global විචල්‍යයක් i ඇතැයි සිතමු. මෙම විචල්‍යයට එකක් එකතු කරන func ශ්‍රිතයක් ද ඇත:

pythoni = 0
def func():
  i += 1 # දෝෂයක් එළියේ දක්වනු ඇත
  return i

කේතය ක්‍රියාත්මක කිරීමෙන් පසු දෝෂයක් ආපසු එනු ඇත, ඊට හේතුව පිටත කේතයේ ප්‍රකාශයට පත් කරන ලද global i සහ 1 එකතු කරන i දැනටමත් ප්‍රකාශයට පත් කර නොමැති local i අතර ගැටුමක් ඇතිවීමයි. මෙම ගැටළුව නිවැරදි කර ශ්‍රිතය global විචල්‍යය සමඟ වැඩ කිරීමට අර්ථ දැක්වීම සඳහා, අපි global උපදෙස භාවිතා කළ යුතුය. මෙම උපදෙස යනු එය නියම කර ඇති සම්පූර්ණ වත්මන් කේත ගොනුව සඳහා ක්‍රියාත්මක වන ප්‍රකාශයකි.

ශ්‍රිතයේ අඩංගුව තුළ global ප්‍රකාශයට පත් කරමින් කලින් උදාහරණය නැවත ලියමු:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # 1 එළියේ දක්වනු ඇත
Задание 1

පහත කේතයේ යම් ක්‍රමලේඛකයෙකු දෝෂයක් සිදු කර ඇත:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

මෙම කේතයේ ඇති වරද කුමක්ද? සොයාගෙන කේත රචකයාගේ දෝෂය නිවැරදි කරන්න.

Задание 2

පහත කේතයේ යම් ක්‍රමලේඛකයෙකු දෝෂයක් සිදු කර ඇත:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

මෙම කේතයේ ඇති වරද කුමක්ද? සොයාගෙන කේත රචකයාගේ දෝෂය නිවැරදි කරන්න.