Rumah >pembangunan bahagian belakang >Tutorial Python >Adakah Fungsi `eval()` Python Selamat Digunakan dengan `input()`?
Fungsi eval() Python dan Kesannya pada input()
Dalam pengaturcaraan Python, fungsi eval() ialah alat berkuasa yang membenarkan program untuk melaksanakan kod secara dinamik. Ini mempunyai beberapa implikasi apabila digunakan dengan fungsi input(), yang mendapatkan semula input pengguna daripada baris arahan atau antara muka pengguna.
Cara eval() Mengubah input() Output
Apabila anda menghantar output input() kepada eval(), Python menilai rentetan input sebagai kod Python. Ini bermakna bahawa input tidak lagi dianggap sebagai rentetan mudah tetapi sebagai ungkapan Python yang boleh dilaksanakan. Sebagai contoh, jika pengguna memasukkan rentetan "2 3" ke dalam fungsi input(), coretan kod berikut:
user_input = input('Enter an expression: ') result = eval(user_input)
...akan memberikan nilai 5 kepada pembolehubah hasil. Ini kerana eval() mentafsir input pengguna sebagai ungkapan Python dan melaksanakannya sebagai operasi matematik.
Nota Awas
1. Risiko Keselamatan:
Seperti yang dinyatakan dalam nota, menggunakan eval() pada input yang tidak dipercayai (cth., input pengguna) boleh memperkenalkan risiko keselamatan yang serius. Pengguna berniat jahat boleh memasukkan kod yang boleh melaksanakan arahan sewenang-wenangnya dalam program anda.
2. Pengendalian Ralat:
Perlu diingat bahawa eval() boleh membuang pengecualian jika rentetan input tidak boleh dinilai sebagai ungkapan Python yang sah atau jika ungkapan menghasilkan ralat masa jalan. Oleh itu, adalah penting untuk menangani kemungkinan ralat menggunakan teknik pengendalian pengecualian.
Atas ialah kandungan terperinci Adakah Fungsi `eval()` Python Selamat Digunakan dengan `input()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!