Պայթոնում տեսանելիության տիրույթների փոխազդեցություն
Լինում են դեպքեր, երբ արտաքին (գլոբալ) և ներքին (լոկալ) փոփոխականները ունեն նույն անունը:
num = 1
def func():
num = 2
print(num)
Միևնույն ժամանակ, կարևոր է հասկանալ, որ լոկալ num-ը,
եթե նույնիսկ ունի նույն անունը, ինչ գլոբալը,
բայց Պայթոնի համար այն մեկ այլ փոփոխական է:
Սա նշանակում է, որ գլոբալ num-ը ՉԻ
վերագրվում ֆունկցիայի ներսում, այլ պահպանում է
իր սկզբնական արժեքը: func ֆունկցիան կանչելիս
console-ում կցուցադրվի միայն լոկալ num-ի
արժեքը, իսկ
print-ի միջոցով՝ գլոբալ
փոփոխականի արժեքը:
func() # կարտադրի 2
print(num) # կարտադրի 1
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num = 10
def func():
num = 5
return num
func()
print(num)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Ինչի՞ է հավասար լինելու հետևյալ կոդի կատարման արդյունքը:
num1 = 1
def func():
num1 = 2
print(num1)