Jawaban yang diterima sudah menyebutkan PEP 238 . Saya hanya ingin menambahkan pandangan cepat ke belakang layar untuk mereka yang tertarik dengan apa yang terjadi tanpa membaca keseluruhan PEP.
Python peta operator seperti +, -, *dan /untuk fungsi-fungsi khusus, sehingga misalnya a + bsetara dengan
a.__add__(b)
Mengenai pembagian di Python 2, secara default hanya ada /yang memetakan __div__dan hasilnya tergantung pada jenis input (misalnya int, float).
Python 2.2 memperkenalkan __future__fitur division, yang mengubah semantik divisi dengan cara berikut (TL; DR dari PEP 238):
/peta __truediv__yang harus "mengembalikan perkiraan yang masuk akal dari hasil matematika divisi" (kutipan dari PEP 238)
//peta ke __floordiv__, yang seharusnya mengembalikan hasil lantai dari/
Dengan Python 3.0, perubahan PEP 238 menjadi perilaku default dan tidak ada metode khusus __div__dalam model objek Python.
Jika Anda ingin menggunakan kode yang sama dalam Python 2 dan Python 3 gunakan
from __future__ import division
dan menempel pada semantik PEP 238 dari /dan //.