Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapakah `input()` Python Mengembalikan Rentetan Daripada Integer?
Mengapa x dan y Menerima Rentetan Daripada Integer
Apabila melaksanakan kod yang disediakan, khususnya baris x = input("Masukkan nombor : ") dan y = input("Masukkan nombor:"), ia menggesa pengguna untuk memasukkan nilai, yang kemudiannya disimpan dalam x dan y sebagai rentetan, bukannya integer.
Sebab untuk Gelagat ini
Tingkah laku ini timbul disebabkan oleh pengendalian input Python dalam versi yang berbeza. Dalam Python 3, di mana kod yang disediakan mungkin berjalan, fungsi input() mengembalikan nilai yang dimasukkan sebagai rentetan secara lalai. Untuk menukar rentetan ini kepada integer, hantaran eksplisit diperlukan, seperti yang dilihat dalam kod yang diubah suai di bawah:
x = int(input("Enter a number: ")) y = int(input("Enter a number: "))
Mengendalikan Asas Nombor Berbeza
Python menyediakan serba boleh pendekatan untuk menerima nombor pelbagai asas. Menggunakan asas yang sesuai semasa menghantar, seperti yang ditunjukkan di bawah, membolehkan tafsiran nombor dalam jejari berbeza:
data = int(input("Enter a number: "), 8) # Converts to base 8 (octal) data = int(input("Enter a number: "), 16) # Converts to base 16 (hexadecimal) data = int(input("Enter a number: "), 2) # Converts to base 2 (binary)
Menukar kepada Terapung untuk Nilai Pecahan
Untuk nilai yang mungkin mengandungi komponen pecahan, menukarnya kepada terapung dan bukannya integer adalah sesuai. Ini boleh dicapai menggunakan sintaks berikut:
x = float(input("Enter a number:"))
Ciri Tersendiri antara Python 2 dan 3
Ringkasan
Perbezaan utama antara Python 2 dan 3 berkenaan dengan input pengguna ialah:
Gelagat Python 2.x
Gelagat Python 3.x
Potensi Bahaya dengan input Python 2.x Fungsi
Apabila menggunakan fungsi input dalam Python 2.x, adalah penting untuk mengambil kira penilaian automatiknya, kerana ia boleh membawa kepada tingkah laku yang tidak diingini, seperti membenarkan pelaksanaan kod berniat jahat.
Atas ialah kandungan terperinci Mengapakah `input()` Python Mengembalikan Rentetan Daripada Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!