Scoping sederhananya adalah visibility sebuah variable. Variable Scoping pada Python dapat dibagi menjadi:
- Local, variable didalam sebuah fungsi atau method dari sebuah class.
- Enclosing, dalam enclosing functions. Contoh, fungsi yang ada didalam fungsi lainnya.
- Global, variable didefinisikan pada top level sebuah modul. Bisa diakses dimana saja (didalam modul tersebut).
- Built-in, variable milik python sendiri.
Tidak disarankan melakukan modifikasi variabel global di dalam lingkup fungsi, karena dapat membingungkan dan bisa terjadi kesalahan aneh yang sulit didebug.
Jika Anda ingin memodifikasi variabel global melalui fungsi, disarankan untuk menyampaikannya sebagai argumen dan menetapkan kembali nilai balik, contoh:
>>> a_var = 2 >>> def a_func(some_var): .... return some_var**3 .... >>> a_var = a_func(a_var) >>> print(a_var) 8 >>>
Gunakan keyword global untuk memberi tahu Python bahwa variable yang ingin digunakan adalah variable global.
>>> count = 0 >>> def show_count(): .... print("Count = ", count) .... >>> def set_count(c) .... global count = c .... >>>