स्वीकृत उत्तर में पहले से ही PEP 238 का उल्लेख है । मैं सिर्फ उन लोगों के लिए दृश्यों के पीछे एक त्वरित रूप जोड़ना चाहता हूं जो पूरे पीईपी को पढ़ने के बिना चल रहे हैं।
अजगर की तरह ऑपरेटरों नक्शे +
, -
, *
और /
विशेष कार्य, के लिए इस तरह जैसे कि a + b
के बराबर है
a.__add__(b)
पायथन 2 में विभाजन के संबंध में, केवल डिफ़ॉल्ट रूप से होता है /
जो कि मैप करता है __div__
और परिणाम इनपुट प्रकारों (जैसे int
, float
) पर निर्भर है ।
पायथन 2.2 ने __future__
फीचर पेश किया division
, जिसने डिवीजन शब्दार्थ को निम्न तरीके से बदल दिया (टीएल; पीआरपी 238 का डीआर):
/
__truediv__
जिन मानचित्रों को "विभाजन के गणितीय परिणाम का एक उचित अनुमान वापस करना चाहिए" (पीईपी 238 से उद्धरण)
//
के नक्शे __floordiv__
, जो लौटे परिणाम लौटना चाहिए/
पायथन 3.0 के साथ, पीईपी 238 के परिवर्तन डिफ़ॉल्ट व्यवहार बन गए और __div__
पायथन के ऑब्जेक्ट मॉडल में कोई विशेष विधि नहीं है ।
यदि आप Python 2 और Python 3 में समान कोड का उपयोग करना चाहते हैं
from __future__ import division
और पीईपी से चिपके की 238 अर्थ विज्ञान /
और //
।