Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Saya Mendapat NameError Apabila Menggunakan Fungsi Input Python?

Mengapa Saya Mendapat NameError Apabila Menggunakan Fungsi Input Python?

Mary-Kate Olsen
Lepaskan: 2024-12-20 00:54:09
asal
774 orang telah melayarinya

Why Am I Getting a NameError When Using Python's Input Function?

NameError: Nama 'Pembolehubah Input' Tidak Ditakrifkan Semasa Menggunakan Fungsi Input

Dalam Python, fungsi input membolehkan anda menangkap input pengguna. Walau bagaimanapun, jika anda menghadapi NameError semasa menggunakan fungsi input, artikel ini meneroka punca dan menyediakan penyelesaian.

Python 2.7 vs. 3.x

Dalam Python 2.7 , terdapat dua fungsi untuk input: input dan raw_input. Fungsi input akan menilai input sebagai ungkapan Python, manakala raw_input hanya menangkap input sebagai rentetan.

Dalam Python 3.x, raw_input dinamakan semula kepada input. Walau bagaimanapun, fungsi input baharu kini berkelakuan seperti raw_input lama, membaca baris daripada input standard dan mengembalikannya sebagai rentetan.

Menyelesaikan Masalah NameError dalam Python 2.7

Jika anda menerima NameError apabila menggunakan fungsi input dalam Python 2.7, ini menunjukkan bahawa pembolehubah yang anda cuba berikan input tidak wujud dalam konteks Python semasa. Ralat nama berlaku apabila anda cuba menilai input sebagai ungkapan Python tetapi gagal disebabkan oleh pembolehubah yang tidak ditentukan.

Pertimbangan Keselamatan dalam Python 2.7

Keupayaan fungsi input untuk menilai input pengguna juga menimbulkan risiko keselamatan. Jika skrip anda memuatkan modul dengan keistimewaan yang tinggi, input pengguna yang mengandungi kod hasad boleh menjejaskan sistem anda.

Penyelesaian

Untuk mengelakkan NameError dan mengurangkan risiko keselamatan, gunakan raw_input berfungsi dalam Python 2.7 sebaliknya. Fungsi ini hanya menangkap input sebagai rentetan, tanpa menilainya. Jika anda perlu menukar input kepada jenis data tertentu, anda boleh menggunakan fungsi yang sesuai seperti int() untuk integer.

Dalam Python 3.x, anda boleh menggunakan fungsi input, yang kini berfungsi seperti raw_input dalam Python 2.7.

Atas ialah kandungan terperinci Mengapa Saya Mendapat NameError Apabila Menggunakan Fungsi Input 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan