Teka-teki Bahagian Integer: Mengapa Terapung Daripada Integer?
Tingkah laku pembahagian integer Python baru-baru ini, di mana ia menghasilkan apungan dan bukannya integer, telah mencetuskan beberapa kekeliruan dalam kalangan pembangun. Peralihan ini menandakan perlepasan daripada versi sebelumnya yang mengembalikan integer untuk pembahagian integer.
Apabila membahagi 2 dengan 2 dalam Python 3, hasilnya ialah 1.0, nombor titik terapung. Tingkah laku yang diubah ini mungkin mengejutkan mereka yang terbiasa dengan versi terdahulu di mana operasi int/int menghasilkan integer.
Sebab yang mendasari perubahan ini berpunca daripada penggunaan Python terhadap operator pembahagian lantai //, yang kembali dengan jelas. hasil bagi integer. Untuk mengekalkan perbezaan ini, operator bahagian standard (/) telah diubah suai untuk mengembalikan apungan.
Akibat dan Penyelesaian
Perubahan ini mempunyai implikasi untuk kod yang bergantung pada integer pembahagian. Pembangun kini mempunyai dua pilihan:
Konteks Sejarah
Perlu diperhatikan bahawa tingkah laku semasa adalah pembalikan perubahan sebelumnya dalam Python 2.x, di mana pembahagian lalai kepada pembahagian lantai. Pembalikan ini didorong oleh PEP-238, yang memperkenalkan pengendali // untuk pembahagian lantai yang jelas dan mengubah suai pengendali bahagian standard untuk mengembalikan apungan.
Memahami perubahan sejarah ini adalah penting untuk pembangun yang berhijrah daripada versi Python yang lebih awal atau kod penyelesaian masalah yang bergantung pada pembahagian integer.
Atas ialah kandungan terperinci Mengapa Bahagian Python 3 Mengembalikan Terapung Daripada Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!