Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Python Melemparkan Ralat \'NameError: nama tidak ditakrifkan\'?

Mengapa Python Melemparkan Ralat \'NameError: nama tidak ditakrifkan\'?

Susan Sarandon
Susan Sarandonasal
2024-10-29 20:55:02690semak imbas

Why Does Python Throw a

Python's NameError: Definite Debugging

Menemui ralat "NameError: name is not definition" dalam Python boleh mengecewakan, menghalang pelaksanaan kod anda. Mari kita siasat punca di sebalik ralat ini dan cari penyelesaian yang berkesan.

Ralat timbul apabila Python menemui rujukan kepada pembolehubah atau kelas yang tidak diketahui. Dalam kod yang disediakan:

<code class="python">s = Something()
s.out()

class Something:
    def out():
        print("it works")</code>

Jurubahasa cuba mengakses kelas Sesuatu selepas pembolehubah s ditakrifkan. Walau bagaimanapun, dalam Python, definisi kelas mesti dibuat sebelum penggunaannya; jika tidak, penterjemah tidak dapat mengenalinya.

Untuk membetulkan keadaan, takrifkan semula kelas Sesuatu sebelum menggunakannya:

<code class="python">class Something:
    def out(self):
        print("it works")

s = Something()
s.out()</code>

Satu lagi persamaan dalam ralat ini melibatkan definisi kaedah contoh. Kaedah contoh memerlukan diri sebagai hujah pertama mereka, mewakili contoh itu sendiri. Pastikan anda menyertakan diri semasa menentukan kaedah contoh:

<code class="python">class Something:
    def out(self):
        print("it works")</code>

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

Kenyataan:
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