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!