Melaksanakan kod Python yang disimpan sebagai rentetan ialah ciri bahasa yang unik dan berkuasa. Panduan ini meneroka cara untuk mencapai ini menggunakan fungsi exec dan eval.
Apabila berurusan dengan penyata, exec terbukti tidak ternilai. Dalam Python 3, ia beroperasi sebagai exec(string), manakala dalam Python 2, ia hanyalah exec string. Pertimbangkan contoh:
my_code = 'print("Hello world")' exec(my_code)
Akibatnya, "Hello world" akan dicetak ke konsol.
Sebaliknya, eval masuk ke dalam bermain apabila anda memerlukan nilai ungkapan. Sintaks kekal serupa merentas versi Python:
x = eval("2+2")
Ini akan memberikan hasil ungkapan "2 2" (iaitu 4) kepada pembolehubah x.
Walaupun exec dan eval menawarkan serba boleh, adalah penting untuk berhati-hati apabila menggunakannya. Melaksanakan kod yang mungkin berasal daripada sumber luaran menimbulkan risiko keselamatan yang ketara. Ia membolehkan penyerang berpotensi untuk melaksanakan kod arbitrari pada sistem anda.
Sebelum menggunakan rentetan kod, pertimbangkan pendekatan alternatif seperti fungsi tertib lebih tinggi. Ini memberikan penyelesaian yang lebih bersih, selamat dan lebih cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Rentetan Kod Python Menggunakan `exec` dan `eval` Dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!