Akses variabel di luar jika pernyataan python

Apakah variabel yang dideklarasikan dalam pernyataan if_ dapat diakses langsung di luar pernyataan if?

Menjawab

Tidak, variabel yang dideklarasikan di dalam pernyataan if_ tidak akan dapat diakses secara langsung di luar pernyataan if karena pernyataan if memiliki cakupannya sendiri. Bagaimana Anda bisa menetapkan nilai berdasarkan kondisional?
Ini tidak bekerja

let capacity = 50; let numberOfPeople = 80; if(numberOfPeople > capacity) { let numberOfExtraPeople = numberOfPeople - capacity; } else { let numberOfExtraPeople = 0; } // Prints undefined because numberOfExtraPeople is not in this scope console.log(numberOfExtraPeople);

Namun, ini berhasil

let capacity = 50; let numberOfPeople = 80; let numberOfExtraPeople; if(numberOfPeople > capacity) { numberOfExtraPeople = numberOfPeople - capacity; } else { numberOfExtraPeople = 0; } // Prints 30 because numberOfExtraPeople was declared in the same scope as the console.log console.log(numberOfExtraPeople); _

Di Python, kita bisa mendeklarasikan variabel dalam tiga lingkup yang berbeda. ruang lingkup lokal, global, dan ruang lingkup nonlokal

Cakupan variabel menentukan wilayah tempat kita dapat mengakses variabel. Sebagai contoh,

def add_numbers(): sum = 5 + 4

Di sini, variabel sum dibuat di dalam fungsi, sehingga hanya dapat diakses di dalamnya (lingkup lokal). Jenis variabel ini disebut variabel lokal

Berdasarkan cakupannya, kita dapat mengklasifikasikan variabel Python menjadi tiga jenis

  1. Variabel Lokal
  2. Variabel Global
  3. Variabel Nonlokal

Variabel Lokal Python

Saat kita mendeklarasikan variabel di dalam suatu fungsi, variabel ini akan memiliki cakupan lokal (di dalam fungsi). Kami tidak dapat mengaksesnya di luar fungsi

Jenis variabel ini disebut variabel lokal. Sebagai contoh,

def greet(): # local variable message = 'Hello' print('Local', message) greet() # try to access message variable # outside greet() function print(message)

Keluaran

Local Hello NameError: name 'message' is not defined_

Di sini, variabel pesan bersifat lokal untuk fungsi greet(), sehingga hanya dapat diakses di dalam fungsi

Itu sebabnya kami mendapatkan kesalahan saat kami mencoba mengaksesnya di luar fungsi greet()

Untuk memperbaiki masalah ini, kita dapat membuat variabel bernama pesan menjadi global

Variabel Global Python

Dalam Python, variabel yang dideklarasikan di luar fungsi atau dalam lingkup global dikenal sebagai variabel global. Ini berarti variabel global dapat diakses di dalam atau di luar fungsi

Mari kita lihat contoh bagaimana variabel global dibuat dengan Python

# declare global variable message = 'Hello' def greet(): # declare local variable print('Local', message) greet() print('Global', message)

Keluaran

Local Hello Global Hello_

Kali ini kita dapat mengakses variabel pesan dari luar fungsi greet(). Ini karena kami telah membuat variabel pesan sebagai variabel global

# declare global variable message = 'Hello'

Sekarang, pesan akan dapat diakses dari semua cakupan (wilayah) program

Variabel Nonlokal Python

Dalam Python, variabel nonlokal digunakan dalam fungsi bersarang yang cakupan lokalnya tidak ditentukan. Ini berarti bahwa variabel tidak dapat berada dalam lingkup lokal maupun global

Kami menggunakan kata kunci def greet(): # local variable message = 'Hello' print('Local', message) greet() # try to access message variable # outside greet() function print(message)_1 untuk membuat variabel nonlokal. Sebagai contoh,

# outside function def outer(): message = 'local' # nested function def inner(): # declare nonlocal variable nonlocal message message = 'nonlocal' print("inner:", message) inner() print("outer:", message) outer()_

Keluaran

inner: nonlocal outer: nonlocal

Dalam contoh di atas, ada fungsi def greet(): # local variable message = 'Hello' print('Local', message) greet() # try to access message variable # outside greet() function print(message)2 bersarang. Kami telah menggunakan kata kunci def greet(): # local variable message = 'Hello' print('Local', message) greet() # try to access message variable # outside greet() function print(message)_1 untuk membuat variabel nonlokal

Bagaimana Anda menggunakan variabel di luar pernyataan if?

Jika Anda mendefinisikan variabel di dalam pernyataan if, maka itu hanya akan terlihat di dalam lingkup pernyataan if, yang mencakup pernyataan itu sendiri ditambah pernyataan anak. Anda harus mendefinisikan variabel di luar cakupan dan kemudian memperbarui nilainya di dalam pernyataan if .

Bagaimana Anda mengakses variabel dari luar fungsi di Python?

Menggunakan pernyataan global . Kami melakukan ini menggunakan pernyataan global. Tidak mungkin menetapkan nilai ke variabel yang ditentukan di luar fungsi tanpa pernyataan global.

Bagaimana Anda mengakses variabel di luar kelas dengan Python?

Jika Anda ingin menggunakan variabel itu bahkan di luar kelas, Anda harus mendeklarasikan variabel itu sebagai global . Kemudian variabel tersebut dapat diakses menggunakan namanya di dalam dan di luar kelas dan tidak menggunakan instance dari kelas tersebut.

Bisakah Anda menggunakan variabel di luar fungsi?

Dalam Python, variabel yang dideklarasikan di luar fungsi atau dalam lingkup global dikenal sebagai variabel global. Ini berarti bahwa variabel global dapat diakses di dalam atau di luar fungsi .

Postingan terbaru

LIHAT SEMUA