← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 21

Variabel local dan global

Bedakan variabel dalam fungsi dan di luarnya.

Pahami konsepnya

Variabel yang dideklarasikan di dalam fungsi bersifat LOCAL — hanya hidup di dalamnya. Variabel di level modul bersifat GLOBAL — terlihat dari mana saja. Python mencari nama dari dalam ke luar: fungsi melihat global, tapi fungsi TIDAK BISA mengubah global tanpa izin.

Untuk mengubah variabel global dari dalam fungsi, nyatakan global nama_variabel di awal fungsi. Tanpanya, assignment di dalam fungsi menciptakan variabel LOCAL baru yang menimpa nama global secara lokal saja.

Kebiasaan terbaik: batasi global seminimal mungkin — ia membuat alur data sulit dilacak. Kirim data lewat parameter, terima hasil lewat return. global hanya untuk konfigurasi benar-benar lintas fungsi seperti penghitung debug.

Coba contoh kode

counter = 0  # global

def tambah_local():
    counter = 100  # local — global tidak tersentuh

def tambah_global():
    global counter
    counter += 1

tambah_local()
print(counter)  # 0 — tidak berubah

tambah_global()
tambah_global()
print(counter)  # 2 — global diubah

tambah_local mengubah variabel local-nya sendiri bernama sama — global tetap 0. tambah_global dengan global counter benar-benar menaikkan variabel global. Tanpa global, Python menciptakan salinan local yang menimpa nama global secara lokal.

Latihan singkat

Uji: naikkan counter global dari 5 ke 6 — harus `6`.