Global հրամանը Python-ում

Ենթադրենք ունենք արտաքին գլոբալ փոփոխական i: Կա նաև func ֆունկցիան, որն այդ փոփոխականին գումարում է մեկ:

pythoni = 0
def func():
  i += 1 # կտպի սխալ
  return i

Կոդի կատարումից հետո կվերադառնա սխալ, քանի որ տեղի է ունենում արտաքին կոդում հայտարարված գլոբալ i-ի և տեղային i-ի հակասություն, որին գումարվում է 1, բայց ինքը փոփոխականը դեռ հայտարարված չէ: Այս խնդիրը շտկելու և ֆունկցիային հրահանգելու համար աշխատել հենց գլոբալ փոփոխականի հետ, անհրաժեշտ է օգտագործել 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())

Ի՞նչ է այն այս կոդի հետ: Գտեք և շտկեք կոդի հեղինակի սխալը: