Scope Variabel
Table of Contents
Membuat dan Menggunakan Fungsi pada Python - This article is part of a series.
a. Local dan Global Scope #
Variabel dalam Python dapat memiliki dua jenis cakupan (scope): lokal (local) dan global (global).
-
Local Scope: Variabel yang dideklarasikan di dalam sebuah fungsi bersifat lokal. Artinya, variabel tersebut hanya dapat diakses di dalam fungsi tersebut.
def contoh_local_scope(): variabel_lokal = 5 print("Variabel lokal:", variabel_lokal) contoh_local_scope() # print(variabel_lokal) # Akan menghasilkan error, variabel_lokal tidak dikenali di luar fungsi
Penjelasan:
Variabel
variabel_lokal
hanya dapat diakses di dalam fungsicontoh_local_scope
. Ketika mencoba mengaksesnya di luar fungsi, akan menghasilkan error. -
Global Scope: Variabel yang dideklarasikan di luar fungsi bersifat global. Artinya, variabel tersebut dapat diakses dari seluruh program.
variabel_global = 10 def contoh_global_scope(): print("Variabel global:", variabel_global) contoh_global_scope() print("Variabel global di luar fungsi:", variabel_global)
Penjelasan:
Variabel
variabel_global
dapat diakses baik di dalam maupun di luar fungsicontoh_global_scope
karena dideklarasikan di luar fungsi.
b. Perubahan Variabel Global dalam Fungsi #
Dalam fungsi, kita dapat mengakses dan bahkan memodifikasi variabel global menggunakan kata kunci global.
variabel_global = 10
def ubah_variabel():
global variabel_global
variabel_global = 20
print("Variabel global dalam fungsi:", variabel_global)
ubah_variabel()
print("Variabel global di luar fungsi:", variabel_global)
Penjelasan:
- Dengan menggunakan global
variabel_global
, kita dapat merujuk ke variabel global dalam fungsi dan mengubah nilainya. - Hasil cetakan di dalam dan di luar fungsi menunjukkan bahwa variabel global telah diubah.
d. Variabel Lokal yang Sama Nama dengan Variabel Global #
Ketika terdapat variabel lokal dengan nama yang sama seperti variabel global di dalam sebuah fungsi, variabel lokal akan mendapatkan prioritas.
variabel_global = 10
def ubah_variabel():
variabel_global = 20
print("Variabel lokal dalam fungsi:", variabel_global)
ubah_variabel()
print("Variabel global di luar fungsi:", variabel_global)
Penjelasan:
Meskipun terdapat variabel global variabel_global
, variabel lokal dengan nama yang sama di dalam fungsi akan diprioritaskan dan nilainya yang akan dicetak.