Home » python » Python Scope: Local dan Global Serta Contohnya

Python Scope: Local dan Global Serta Contohnya

by Catur Kurnia Sari
by Catur Kurnia Sari

Variabel yang hanya tersedia didalam region yang membuatnya atau disebut ruang lingkup (Scope).

Scope Lokal

Variabel yang dibuat di dalam fungsi termasuk dalam lingkup lokal fungsi itu, dan hanya dapat digunakan di dalam fungsi itu.

Contoh:
Variabel yang dibuat di dalam fungsi hanya tersedia di dalam fungsi itu

def myfunc():
  x = 300
  print(x)

myfunc()

Fungsi Di Dalam Fungsi

Seperti yang dijelaskan dalam contoh di atas, variabel x tidak tersedia di luar fungsi, tetapi tersedia untuk fungsi apapun di dalam fungsi.

Contoh:
Variabel lokal dapat diakses dari fungsi di dalam fungsi

def myfunc():
  x = 300
  def myinnerfunc():
    print(x)
  myinnerfunc()

myfunc()

Scope Global

Variabel yang dibuat di bagian utama kode Python adalah variabel global dan termasuk dalam scope global.

Variabel global tersedia dari dalam scope apapun baik global dan lokal.

Contoh:
Variabel yang dibuat di luar fungsi bersifat global dan dapat digunakan oleh siapapun

x = 300

def myfunc():
  print(x)

myfunc()

print(x)

Penamaan Variabel

Jika kita menggunakan nama variabel yang sama di dalam dan di luar suatu fungsi, Python akan memperlakukannya sebagai dua variabel terpisah, satu tersedia di scope global (di luar fungsi) dan satu tersedia di scope lokal (di dalam fungsi):

Contoh:
Fungsi akan mencetak x lokal, dan kemudian kode akan mencetak x global

x = 300

def myfunc():
  x = 200
  print(x)

myfunc()

print(x)

Kata Kunci Global

Jika kita perlu membuat variabel global, tetapi terjebak dalam scope lokal, maka kita dapat menggunakan kata kunci global.

Kata kunci global digunakan untuk membuat variabel menjadi global.

Contoh:
Jika menggunakan kata kunci global, variabel tersebut termasuk dalam scope global

def myfunc():
  global x
  x = 300

myfunc()

print(x)

Selain itu, gunakan kata kunci global jika ingin mengubah nilai variabel global di dalam fungsi.

Contoh:
Untuk mengubah nilai variabel global di dalam fungsi, lihat variabel dengan menggunakan kata kunci global

x = 300

def myfunc():
  global x
  x = 200

myfunc()

print(x)

You may also like