Ruang Lingkup Python

Variabel yang hanya ada di dalam wilayah yang dibuat. Ini disebut ruang lingkup .

Lingkup Lokal

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

Contoh

Variabel yang dibuat di dalam suatu fungsi tersedia di dalam fungsi itu:

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

myfunc()

Fungsi dalam Fungsi

Seperti dijelaskan dalam contoh di atas, variabel x tidak tersedia di luar fungsi, tetapi tersedia untuk fungsi apa pun di dalam fungsi:

Contoh

Variabel lokal dapat diakses dari fungsi di dalam fungsi:

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

myfunc()

Lingkup Global

Variabel yang dibuat di kerangka utama kode Python adalah variabel global dan termasuk dalam lingkup global.

Variabel global tersedia dari dalam lingkup apa pun, global dan lokal.

Contoh

Variabel yang dibuat di luar fungsi adalah global dan dapat digunakan oleh siapa saja:

x = 300

def myfunc():
  print(x)

myfunc()

print(x)

Penamaan Variabel

Jika kamu beroperasi dengan nama variabel yang sama di dalam dan di luar fungsi, Python akan memperlakukan mereka sebagai dua variabel terpisah, satu tersedia di lingkup global (di luar fungsi) dan satu tersedia di lingkup lokal (di dalam fungsi):

Contoh

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

x = 300

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

myfunc()

print(x)

Kata Kunci Global

Jika kamu perlu membuat variabel global, tetapi terjebak dalam lingkup lokal, Kamu dapat menggunakan kata kunci global.

Kata kunci global membuat variabel global.

Contoh

Jika kamu menggunakan kata kunci global, variabel milik lingkup global:

def myfunc():
  global x
  x = 300

myfunc()

print(x)

Juga, gunakan kata kunci global jika kamu ingin membuat perubahan ke variabel global di dalam suatu fungsi.

Contoh

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

x = 300

def myfunc():
  global x
  x = 200

myfunc()

print(x)