Daftar Referensi Python
Scope (lingkup) menentukan di mana sebuah variabel dikenali. Variabel yang dibuat di dalam fungsi disebut variabel lokal — hanya hidup selama fungsi berjalan. Variabel yang dibuat di luar semua fungsi disebut variabel global — bisa dibaca dari mana saja.
Sintaks
skor = 100 # variabel global
def hitung():
poin = 10 # variabel lokal
print(skor) # global boleh dibaca di sini
Perbandingan
| Jenis | Didefinisikan di | Bisa diakses dari |
|---|---|---|
| Lokal | dalam fungsi | hanya dalam fungsi itu; hilang saat fungsi selesai |
| Global | luar semua fungsi | seluruh program (dibaca); untuk mengubahnya dari dalam fungsi perlu kata kunci global |
Contoh
pesan = "Halo!" # variabel global
def tampilkan():
print(pesan) # membaca variabel global
tampilkan()
Output:
Halo!
Contoh Lainnya
Variabel lokal hilang di luar fungsi
def halo():
ucapan = "Hai, dunia!" # variabel lokal
print(ucapan)
halo()
# print(ucapan) <- NameError: hanya ada di dalam fungsi
Output:
Hai, dunia!
Nama sama tidak mengubah variabel global
skor = 10
def ubah():
skor = 99 # ini variabel LOKAL baru
print("Di dalam fungsi:", skor)
ubah()
print("Di luar fungsi:", skor)
Output:
Di dalam fungsi: 99
Di luar fungsi: 10
Mengubah variabel global dengan kata kunci global
angka = 0
def tambah():
global angka
angka += 1
for _ in range(3):
tambah()
print(angka)
Output:
3
Perhatian: pakai global seperlunya saja. Terlalu banyak fungsi yang mengubah variabel global membuat alur program sulit dilacak — lebih baik fungsi menerima data lewat parameter dan mengembalikan hasil lewat return.
Kesalahan Umum
- Mengakses variabel lokal di luar fungsinya →
NameError. - Mengubah variabel global di dalam fungsi tanpa
global, misalnyaangka += 1→UnboundLocalError. - Memberi nilai ke nama yang sama dengan variabel global → Python membuat variabel lokal baru; variabel globalnya tidak berubah.
Pelajari Lebih Lanjut
- Tutorial: Variabel Lokal dan Global di Python
- Referensi: Fungsi di Python · return di Python · Variabel di Python
- Buku Belajar Python untuk Pemula: Bab 11
