Nuansa Kerja dengan Lingkup Penglihatan di Python
Mari kita pertimbangkan nuansa penting dalam bekerja dengan variabel lokal dan global.
Misalkan kita memiliki variabel global num.
Mari kita buat fungsi func,
yang akan mencetak num global
ke konsol:
num = 1
def func():
print(num)
func() # akan mencetak 1
Sekarang mari deklarasikan num lokal pada
baris di bawah fungsi print. Setelah
kode dijalankan, kesalahan akan dicetak ke konsol.
Ini terjadi karena Python
di dalam fungsi menganggap num
hanya sebagai variabel lokal, yang
belum dideklarasikan:
num = 1
def func():
print(num) # akan mencetak kesalahan
num = 2
Sekarang mari kita tulis ulang kode di dalam fungsi
sehingga nilai variabel num
bertambah sebesar 2:
num = 1
def func():
num += 2 # akan mencetak kesalahan
Kesalahan disebabkan oleh ekspresi num += 2
merupakan penulisan dari:
num = num + 2
Namun, variabel lokal itu sendiri, yang ditambahkan, belum dideklarasikan. Dan karenanya Python mencetak kesalahan, karena tidak mungkin menambahkan angka ke nilai yang tidak ada.
Berapa hasil eksekusi kode berikut:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Berapa hasil eksekusi kode berikut:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Berapa hasil eksekusi kode berikut:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)