Global հրամանը Python-ում
Ենթադրենք ունենք արտաքին գլոբալ
փոփոխական i: Կա նաև func
ֆունկցիան, որն այդ փոփոխականին գումարում է
մեկ:
i = 0
def func():
i += 1 # կտպի սխալ
return i
Կոդի կատարումից հետո կվերադառնա սխալ,
քանի որ տեղի է ունենում արտաքին կոդում
հայտարարված գլոբալ i-ի և տեղային
i-ի հակասություն, որին գումարվում է
1, բայց ինքը փոփոխականը դեռ
հայտարարված չէ: Այս խնդիրը շտկելու և ֆունկցիային
հրահանգելու համար աշխատել հենց գլոբալ
փոփոխականի հետ, անհրաժեշտ է օգտագործել
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())
Ի՞նչ է այն այս կոդի հետ: Գտեք և շտկեք կոդի հեղինակի սխալը: