Variabel scope di Python
Variabel scope di Python - Yosh sobs-sobs gimana kabar kalian ? semoga dalam keadaan sehat walafiat sehingga bisa menikmati senja dengan segelas kopi panas.
Oke sobs-sobs kali ini masih tentang pembahasan si dede gemezz (python). ada pun topik pembahasan kali ini masih seputar materi python fundamental atau dasar yaitu variabel scope, apa tuh bang variabel scope ?
ya secara singkatnya variabel scope adalah jangkauan atau cakupan kita untuk dapat mengakses sebuah variabel.
Lah bukannya setiap variabel bisa kita akses ya bang ?
Ya bisa jika kita mendeklarasikannya di scope global.
Ah Bingung ?
dari pada bingung mending pegang tuh gelas kopi dan sruput kopinya.. ahhhh nikmatzzzz
di dede gemezz (python) ini terdapat 3 buah klasifikasi scope variabel sobs-sobs sekalian.
- local variabel
- global variabel
- nonlocal variabel
1. local
def say_hai():
nama_mantan = "Adinda"
print(f"Halo {nama_mantan}, apa kabar ?")
say_hai() # Halo Adinda, apa kabar ?
# NameError: name 'nama_mantan' is not defined
# print(nama_mantan)
2. global
# variabel global
nama_mantan = "dinda"
# akses variabel didalam fungsi
def sapa_mantan():
print(f"hello {nama_mantan}, masih enakan zamanku toh ??")
sapa_mantan() # hello dinda, masih enakan zamanku toh ??
for i in range(1, 6):
print(f"hallo {nama_mantan} {i}")
# output
# hallo dinda 1
# hallo dinda 2
# hallo dinda 3
# hallo dinda 4
# hallo dinda 5
Lihat sobs-sobs kita bisa mengakses variabel mantan didalam sebuah fungsi dan perulangan,
nama_mantan = "Julia"
print(nama_mantan) # Julia
def ganti_nama_mantan():
nama_mantan = "Riska"
print(nama_mantan)
ganti_nama_mantan() # Riska
print(nama_mantan) # Julia
Lah bang kok engga berubah ??
nama_mantan = "Julia"
print(nama_mantan) # Julia
def ganti_nama_mantan():
global nama_mantan
nama_mantan = "Riska"
print(nama_mantan)
ganti_nama_mantan() # Riska
print(nama_mantan) # Julia
Nah sekarang variabel nama_mantan sudah berubah, ingat ya sobs keyword global.3. nonlocal
def luar():
mantan = "Yuki"
print(f"fungsi luar-1 : {mantan}") # fungsi luar-1 : Yuki
def dalam():
mantan = "Vina"
print(f"fungsi dalam : {mantan}") # fungsi dalam : Vina
dalam()
print(f"fungsi luar-2 : {mantan}") # fungsi luar-2 : Yuki
luar()
Lihat sobs-sobs variabel mantan tidak akan berubah, lalu bagaimana jika kita ingin memanipulasi variabel mantan, jawabannya adalah menggunakan keyword nonlocal dan diikuti dengan nama variabel. untuk lebih jelasnya kita bisa lihat contoh dibawah sobs
def luar():
mantan = "Yuki"
print(f"fungsi luar-1 : {mantan}") # fungsi luar-1 : Yuki
def dalam():
nonlocal mantan
mantan = "Vina"
print(f"fungsi dalam : {mantan}") # fungsi dalam : Vina
dalam()
print(f"fungsi luar-2 : {mantan}") # fungsi luar-2 : Vina
luar()
Posting Komentar untuk "Variabel scope di Python"
Posting Komentar