Mengapa saya mendapat \'NameError: nama tidak ditakrifkan\' dalam skrip Python saya?

Susan Sarandon
Lepaskan: 2024-10-30 09:35:27
asal
891 orang telah melayarinya

Why am I getting a

Python NameError: Menyelesaikan Isu Definisi Nama

Apabila melaksanakan skrip Python, anda mungkin menghadapi ralat "NameError: name is not definition. " Ralat ini menandakan bahawa skrip tidak dapat mengesan nama atau pengecam yang ditentukan dalam ruang nama program. Mari kita terokai punca ralat ini dan kenal pasti penyelesaiannya.

Coretan kod yang diberikan menggambarkan isu ini:

s = Something()
s.out()

class Something:
    def out(self):
        print("it works")
Salin selepas log masuk

Setelah menjalankan skrip ini, jurubahasa menemui "NameError: name ' Sesuatu' tidak ditakrifkan" pengecualian. Ini kerana sesuatu kelas tidak ditakrifkan sebelum ia dijadikan sebagai objek. Untuk menyelesaikan isu ini, takrifan kelas mesti mendahului penggunaannya:

class Something:
    def out(self):
        print("it works")

s = Something()
s.out()
Salin selepas log masuk

Dengan mentakrifkan kelas sebelum cuba mencipta tika, penterjemah boleh berjaya mengecam Sesuatu dan menjadikan objek s.

Selain itu, ambil perhatian bahawa kaedah contoh dalam Python memerlukan hujah kendiri sebagai parameter pertama. Parameter ini mewakili contoh kelas yang memanggil kaedah. Dalam kod yang disediakan, kaedah keluar tidak memberikan diri sendiri sebagai hujah pertama, yang akan mengakibatkan ralat jenis lain.

Dengan mengikuti garis panduan ini, anda boleh mengelakkan pengecualian "NameError: name is not definition" dan pastikan skrip Python anda berjaya dilaksanakan.

Atas ialah kandungan terperinci Mengapa saya mendapat \'NameError: nama tidak ditakrifkan\' dalam skrip Python saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!