Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa saya mendapat Ralat \'NameError: name is not definition\' dalam Python?

Mengapa saya mendapat Ralat \'NameError: name is not definition\' dalam Python?

DDD
Lepaskan: 2024-11-03 03:04:02
asal
795 orang telah melayarinya

Why am I getting the

Enigma "NameError: nama tidak ditakrifkan" Python

Apabila menghadapi ralat "NameError: nama tidak ditakrifkan" semasa pelaksanaan Python, ia membayangkan bahawa penterjemah tidak boleh cari pembolehubah, fungsi, atau kelas dengan nama yang ditentukan. Untuk menyelesaikan isu ini, pastikan entiti yang dipersoalkan telah ditakrifkan dengan betul dalam skrip.

Dalam contoh yang diberikan, kod cuba menggunakan kelas Sesuatu sebelum mengisytiharkannya. Lazimnya, kelas hendaklah ditakrifkan pada permulaan skrip, sebelum sebarang percubaan dibuat untuk membuat seketika atau mengakses ahlinya.

Pendekatan yang betul ialah mentakrifkan kelas Sesuatu dahulu:

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

Kemudian, cipta instance kelas itu dan akses kaedah keluarnya:

<code class="python">s = Something()
s.out()</code>
Salin selepas log masuk

Satu lagi aspek penting ialah menjadikan diri sebagai parameter pertama kepada kaedah contoh seperti keluar. Dalam Python, kaedah contoh memerlukan sintaks khusus yang menyertakan diri sebagai hujah awal, yang merujuk kepada objek semasa. Gagal melepaskan diri boleh membawa kepada tingkah laku dan ralat yang tidak dijangka.

Dengan pertimbangan ini, anda seharusnya dapat menyelesaikan isu "NameError: name is not definition" dan memastikan kod Python anda dilaksanakan seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa saya mendapat Ralat 'NameError: name is not definition' dalam Python?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan