पायथन 2.x लिगेसी है, पायथन 3.x भाषा का वर्तमान और भविष्य है।
केवल 3.x रिलीज में उपलब्ध सुविधाओं की एक गैर-विस्तृत सूची जो पायथन 2.x में उपलब्ध नहीं हैं -
स्ट्रिंग्स डिफ़ॉल्ट रूप से यूनिकोड हैं
साफ यूनिकोड/बाइट्स पृथक्करण
अपवाद चेनिंग
फंक्शन एनोटेशन
कीवर्ड-ओनली आर्गुमेंट्स के लिए सिंटैक्स
एक्सटेंडेड टपल अनपैकिंग नॉन-लोकल वेरिएबल घोषणाएं
कुछ प्रमुख अंतर
print - पायथन 2 में, "print" को फंक्शन के बजाय स्टेटमेंट माना जाता है। आपको प्रिंट करना चाहते हैं उस टेक्स्ट को पैरेंथेसिस में लपेटने की आवश्यकता नहीं है, हालांकि आप चाहें तो कर सकते हैं। पायथन 3 में, print एक फंक्शन है, जिसका अर्थ है कि आपको प्रिंट करने के लिए आवश्यक आइटम्स को पैरेंथेसिस में फंक्शन को पास करना होगा।
लिस्ट कॉम्प्रिहेंशन में वेरिएबल्स - पायथन 2.x में, लिस्ट कॉम्प्रिहेंशन में इटरेट किए जाने वाले वेरिएबल को ग्लोबल वेरिएबल के समान नाम देने से ग्लोबल वेरिएबल का मान बदल सकता है।
इंटीजर डिवीजन - पायथन 2 उन नंबरों को इंटीजर मानता है जिन्हें आप दशमलव बिंदु के बाद किसी भी अंक के बिना टाइप करते हैं, जो डिवीजन के दौरान कुछ अप्रत्याशित परिणाम दे सकता है। उदाहरण के लिए,
पायथन 3 और पायथन 2 में 3/2 का परिणाम क्रमशः 1.5 और 1 है। पायथन 3 में इंटीजर डिवीजन करने के लिए, आपको // ऑपरेटर का उपयोग करना होगा। और पायथन 2 में फ्लोट डिवीजन के लिए, आपको एक्सप्रेशन में किसी भी नंबर के बाद दशमलव बिंदु और शून्य जोड़ना होगा।
पायथन 2 से कई और फीचर्स बदल गए हैं और आप इस वेबसाइट का उपयोग संदर्भ के रूप में कर सकते हैं यह पता लगाने के लिए कि पायथन 3 में क्या नया है, हर विवरण के लिए विशिष्ट: https://docs.python.org/3/whatsnew/