Bahagian Integer dalam Python 2 dan Python 3: A Tale of Two Results
Membahagi dua nombor dalam Python mungkin kelihatan seperti tugas yang mudah, tetapi terdapat perbezaan halus antara Python 2 dan Python 3 yang boleh membawa kepada hasil yang tidak dijangka.
Dalam Python 2.7, operator / melakukan pembahagian integer apabila kedua-dua input adalah integer. Ini menghasilkan hasil bagi integer, membuang mana-mana bahagian pecahan. Contohnya, 20/15 menghasilkan 1, iaitu hasil pembahagian integer.
Dalam Python 3, walau bagaimanapun, operator / melakukan pembahagian apungan secara lalai, tanpa mengira jenis input. Ini bermakna 20/15 memberikan hasil apungan sebanyak 1.3333333333333333, yang mengekalkan bahagian pecahan.
Untuk mencapai pembahagian integer dalam Python 2, anda boleh menggunakan operator //, yang membundarkan hasil bahagi kepada integer terdekat . Operasi modulo boleh dilakukan menggunakan operator %. Contohnya:
>> 7 // 2 3 >> 7 % 2 1
Untuk menjadikan Python 2 berkelakuan seperti Python 3 berkenaan pembahagian apungan, anda boleh menggunakan import khas:
from __future__ import division
Pastikan anda mengimport ini sebelum sebarang import lain dalam kod anda.
Jadi, ingat: Dalam Python 2.7, pembahagian integer lalai kepada /, manakala dalam Python 3 ia adalah sebaliknya. Untuk mengekalkan konsistensi, adalah disyorkan untuk menggunakan pembahagian apungan dengan operator / dan nyatakan pembahagian integer secara eksplisit menggunakan // dan modulo menggunakan % dalam kedua-dua versi Python.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Bahagian Integer dalam Python 2 dan Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!