Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Pembahagian Integer dalam Python Kadang-kadang Menghasilkan Keputusan Bulat Yang Tidak Dijangka?
Bahagian Integer dalam Python: Membongkar Misteri Keputusan Bulat
Dalam Python, operasi pembahagian kadangkala boleh menghasilkan hasil yang tidak dijangka, terutamanya apabila operan ialah integer. Untuk memahami tingkah laku ini, kita mesti menyelidiki nuansa pembahagian integer Python.
Apabila dua integer dibahagikan, hasilnya juga merupakan integer. Tingkah laku ini timbul daripada pelaksanaan pembahagian Python 2.x, di mana operan dipotong sebelum operasi dilakukan. Pertimbangkan contoh:
>>> (20-10) / (100-10) 0
Di sini, operan menilai masing-masing kepada 10 dan 90. Oleh kerana kedua-duanya adalah integer, hasilnya juga dipotong kepada 0. Ini kerana operator bahagi (/) dalam Python 2.x sentiasa menghasilkan integer.
Untuk menyelesaikan isu ini, seseorang boleh menguatkuasakan pembahagian apungan dengan menghantar salah satu operan ke apungan:
>>> (20-10) / float((100-10)) 0.1111111111111111
Sebagai alternatif, anda boleh mengimport modul pembahagian daripada __future__:
>>> from __future__ import division >>> (10 - 20) / (100 - 10) -0.1111111111111111
Ini memastikan pembahagian sentiasa mengembalikan apungan, tanpa mengira jenis operan. Dengan memahami kehalusan ini, anda boleh mengelakkan ralat pembundaran yang tidak dijangka dalam kod Python anda.
Atas ialah kandungan terperinci Mengapa Pembahagian Integer dalam Python Kadang-kadang Menghasilkan Keputusan Bulat Yang Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!