Interaksi Skop dalam Python
Terdapat kes di mana pembolehubah luaran (global) dan pembolehubah dalaman (tempatan) mempunyai nama yang sama:
num = 1
def func():
num = 2
print(num)
Pada masa yang sama, adalah penting untuk memahami bahawa num tempatan
walaupun mempunyai nama yang sama dengan yang global,
tetapi untuk Python ia adalah pembolehubah yang berbeza.
Ini bermakna num global TIDAK
ditulis semula di dalam fungsi, dan mengekalkan
nilai asalnya. Apabila fungsi
func dipanggil, konsol akan memaparkan
nilai num tempatan sahaja, manakala
print - nilai pembolehubah
global:
func() # akan memaparkan 2
print(num) # akan memaparkan 1
Apakah hasil pelaksanaan kod berikut:
num = 10
def func():
num = 5
return num
func()
print(num)
Apakah hasil pelaksanaan kod berikut:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Apakah hasil pelaksanaan kod berikut:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Apakah hasil pelaksanaan kod berikut:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Apakah hasil pelaksanaan kod berikut:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Apakah hasil pelaksanaan kod berikut:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Apakah hasil pelaksanaan kod berikut:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Apakah hasil pelaksanaan kod berikut:
num1 = 1
def func():
num1 = 2
print(num1)