Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat NameError Apabila Menggunakan Fungsi Input Python?
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!