คำตอบที่ได้รับการยอมรับแล้วกล่าวPEP 238 ฉันแค่ต้องการเพิ่มความรวดเร็วให้กับเบื้องหลังสำหรับผู้ที่สนใจในสิ่งที่กำลังเกิดขึ้นโดยไม่ต้องอ่าน PEP ทั้งหมด
งูหลามแผนที่ประกอบการเช่น+, -, *และ/ฟังก์ชั่นพิเศษดังกล่าวว่าเช่นa + bเทียบเท่ากับ
a.__add__(b)
เกี่ยวกับการแบ่งในหลาม 2 มีโดยเริ่มต้นเท่านั้น/ซึ่งแมปไป__div__และผลที่ได้จะขึ้นอยู่กับรูปแบบการใส่ (เช่นint, float)
Python 2.2 แนะนำ__future__คุณสมบัติdivisionซึ่งเปลี่ยน semantics ส่วนด้วยวิธีต่อไปนี้ (TL; DR ของ PEP 238):
/แผนที่__truediv__ที่จะต้อง "ส่งคืนการประมาณที่สมเหตุสมผลของผลลัพธ์ทางคณิตศาสตร์ของการหาร" (ใบเสนอราคาจาก PEP 238)
//แผนที่ไป__floordiv__ซึ่งควรส่งคืนผลลัพธ์ที่เป็นพื้นของ/
ด้วย Python 3.0 การเปลี่ยนแปลงของ PEP 238 กลายเป็นพฤติกรรมเริ่มต้นและไม่มีวิธีพิเศษ__div__ในโมเดลวัตถุของ Python อีกต่อไป
หากคุณต้องการใช้รหัสเดียวกันใน Python 2 และ Python 3 ให้ใช้
from __future__ import division
และติด PEP 238 ความหมายของและ///