Sebelum kita menyelami metode untuk memeriksa ketersediaan variabel dalam kode, pertama-tama mari kita pahami mengapa kita perlu melakukannya? Show
Untuk menjawab pertanyaan di atas, Anda harus memahami “apa itu 🐞 NameError dan UnboundLocalError dengan Python📌 Dengan Python, jika Anda mencoba mengakses atau berinteraksi dengan nama variabel yang tidak ditentukan, Anda mendapatkan Contoh 1 2 3 4 5 6 7 8
bilangan = [30,40,25,70,50,35] bil = 40 untuk x dalam bilangan. jika x > num: add_up += 1 cetak(add_up)
Keluaran Traceback (panggilan terbaru terakhir) ❖ Karena variabel dengan nama 'add_up' tidak didefinisikan dalam kode kita pada contoh di atas, kita mendapat 📌 Demikian pula, Anda mendapatkan pengecualian Contoh 1 2 3 4 5 6 7 8 9 10 11 12 13
# Program untuk menemukan rata-rata angka def total(num): l = len(num) untuk x di num: rata-rata += x / l kembali rata-rata
bilangan = [30, 10, 60, 20] cetak('Rata-rata = ', total<(numbers))
Keluaran Traceback (panggilan terbaru terakhir) ❖ Kami mendapat pengecualian ⚡ Dengan demikian, pengecualian yang disebutkan di atas terjadi terutama karena alasan berikut. - Kedua kesalahan ini cukup umum, terutama bagi pemula. Untuk memperbaikinya, Anda cukup mengedit program Anda dan secara manual menentukan variabel yang menyebabkan terjadinya kesalahan ini Namun, jika kode Anda cukup panjang, akan sangat membosankan untuk menemukan setiap variabel yang tidak terdefinisi satu per satu di program Anda. Di sinilah Anda dapat memeriksa apakah ada variabel di tempat pertama sebelum menggunakannya Baca Disini. [Terpecahkan] ValueError. tidak dapat mengonversi string menjadi float Oleh karena itu, tanpa penundaan lebih lanjut, mari kita bahas metode untuk memeriksa apakah ada variabel dalam kode Python ✨ Metode 1. Menggunakan locals() dan globals()
Larutan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a = 0
def centang(). c = 0 jika 'a' di global(): # memeriksa variabel bernama 'a' dalam variabel global cetak(Benar) jika 'b' di lokal(): # memeriksa 'b' dalam variabel lokal cetak(Benar) selain itu. cetak(Salah) jika 'c' di lokal(): cetak(Benar)
periksa()
Keluaran BENAR ✨ Metode 2. Menggunakan dir({object})
Larutan. Mari gabungkan metode 1 2 3 4 5 6 7 8 9 10 11 12 13
bilangan = [30, 40, 25, 70, 50, 35] bil = 40 untuk x dalam bilangan. jika x > num: jika 'add_up' di dir(): # memeriksa variabel dalam daftar nama add_up += 1 selain itu. add_up = 1
cetak("No. nilai > {} = {}". format(num, add_up))
Keluaran Tidak. nilai > 40 = 2 ✨ Metode 3. Menggunakan coba dan kecuali BlokirBlok Contoh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
def total(num): l = len(num) untuk x di num: coba. rata-rata += x / l # error code kecuali. rata-rata = x / l # exception handling code kembali rata-rata
bilangan = [30, 10, 60, 20] cetak('Rata-rata = ', total<(numbers))
Keluaran Rata-rata = 30. 0 ✨ Metode 4. Menggunakan vars([objek])
Larutan. Mari terapkan metode ini untuk memperbaiki 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
def total(num): l = len(num) untuk x di num: jika 'rata-rata' di vars(): # memeriksa 'avg' di __dict__ menggunakan metode vars() rata-rata += x / l selain itu. rata-rata = x / l kembali rata-rata
bilangan = [30, 10, 60, 20] cetak('Rata-rata = ', total<(numbers))
Keluaran Rata-rata = 30. 0 ❖ __dict__Anda juga dapat langsung memeriksa variabel menggunakan Contoh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# Memeriksa variabel yang ada di kelas bernama Variabel kelas Variabel(). def __init__(self, a): diri sendiri. a = a diri sendiri. periksa()
def periksa(self): jika 'a' dalam diri.__dict__. # mengakses __dict__ dengan objek kelas cetak('a =', self.a) selain itu. cetak("'a' tidak didefinisikan") jika 'b' dalam diri.__dict__. cetak('b =', self.b) selain itu. cetak("b tidak ditentukan")
obj = Variabel(1)
Keluaran a = 1 Dengan demikian, kami dapat memeriksa keberadaan beberapa variabel menggunakan Bagaimana Anda memeriksa apakah ada variabel atau tidak di Python?Untuk memeriksa keberadaan variabel secara global, kita akan menggunakan fungsi globals() untuk mendapatkan kamus tabel simbol global saat ini .
Bagaimana Anda memeriksa apakah suatu variabel sudah ada?Jawab. Gunakan jenis operator
. e. menguji apakah suatu variabel telah dideklarasikan dan diberi nilai) Anda dapat menggunakan operator typeof. |