
यदि आप डेटा साइंस में करियर बनाने पर विचार कर रहे हैं, तो आपने संभवतः Python के बारे में सुना होगा। Python एक ओपन-सोर्स, सामान्य प्रयोजन प्रोग्रामिंग भाषा है, जिसका डेटा साइंस और अन्य सॉफ्टवेयर क्षेत्रों जैसे वेब और गेम डेवलपमेंट, साइबर सुरक्षा, और ब्लॉकचेन में व्यापक उपयोग होता है।
पिछले कुछ वर्षों में Python की लोकप्रियता में तेज़ी से वृद्धि हुई है। यह विभिन्न प्रोग्रामिंग भाषा लोकप्रियता सूचकांकों में प्रथम स्थान पर है, जिनमें TIOBE इंडेक्स और PYPL इंडेक्स शामिल हैं। Python का उपयोग किन-किन कामों में होता है के बारे में आप एक अलग लेख में और जान सकते हैं।
अपनी सरल और पठनीय सिंटैक्स के कारण, Python को अक्सर नए कोडरों के लिए सीखने में सबसे आसान प्रोग्रामिंग भाषाओं में से एक माना जाता है। यदि आप डेटा साइंस में नए हैं और यह नहीं जानते कि पहले कौन सी भाषा सीखें, तो Python बेहतरीन विकल्पों में से एक है। आप DataCamp पर Data Scientist with Python करियर ट्रैक करके अभी अपनी डेटा साइंस यात्रा शुरू कर सकते हैं।
फिर भी, चीजें थोड़ी उलझनभरी लग सकती हैं। आपने Python 2 और 3 के बारे में भी सुना होगा। यह क्या है? क्या Python नाम की केवल एक ही भाषा नहीं है? आपको कौन-सी सीखनी चाहिए? चिंता की बात नहीं: विशेष परिस्थितियों को छोड़कर, अब आप हमेशा Python 3 का ही उपयोग करेंगे। फिर भी, अंतर जानना हमेशा अच्छा रहता है।
आगे के खंडों में, हम समझाएँगे कि Python 2 और 3 क्या हैं, इनके बीच मुख्य अंतर क्या हैं, और सीखने व उपयोग के लिए कौन-सा अधिक उपयुक्त है।
Python 2 क्या है
Python का विकास 1980 के दशक के अंत में Guido van Rossum ने किया था और इसे पहली बार 1991 में सार्वजनिक किया गया। नौ वर्षों के विकास और बढ़ती लोकप्रियता के बाद, 2000 में Python 2.0 जारी किया गया।
Python 2 एक नई तकनीकी विशिष्टता के साथ आया जिसे Python Enhancement Proposal (PEP) कहा गया, जिसका उद्देश्य Python कोड लिखने हेतु दिशानिर्देश और सर्वोत्तम प्रथाएँ प्रदान करना था। इसमें नई विशेषताएँ भी आईं, जैसे लिस्ट कॉम्प्रिहेंशन, यूनिकोड सपोर्ट, और साइकिल-डिटेक्टिंग गार्बेज कलेक्टर।
लेकिन Python 2 में सबसे बड़ा बदलाव स्वयं विकास प्रक्रिया में था। Python को शुरुआती लोगों के लिए सीखने में आसान भाषा के रूप में परिकल्पित किया गया था। इस लक्ष्य को पाने के लिए, Python के विकास के लिए जिम्मेदार टीम – जिसमें Guido van Rossum शीर्ष पर थे – ने अधिक पारदर्शी और समुदाय-समर्थित विकास प्रक्रिया अपनाने का निर्णय लिया।
समय के साथ Python 2 का विकास जारी रहा। क्रमिक संस्करणों ने भाषा में नई कार्यक्षमताएँ जोड़ीं। Python 2 का अंतिम संस्करण, जो 2010 में जारी हुआ, Python 2.7 था। इस संस्करण का समर्थन 1 जनवरी, 2020 को समाप्त हो गया।
Python 3 क्या है
Python 3 इस प्रोग्रामिंग भाषा की अगली पीढ़ी है। इसे दिसंबर 2008 में कई सुधारों और नई विशेषताओं के साथ जारी किया गया था।
Python 3, Python 2 के कोड को केवल डीबग करने के बाद का संस्करण नहीं था। नई संस्करण में भाषा में बड़े बदलाव किए गए ताकि पिछले संस्करणों में मौजूद सुरक्षा मुद्दों और डिज़ाइन खामियों को दूर किया जा सके। Python 3 एक नई सिंटैक्स के साथ आया जिसका उद्देश्य अनावश्यक या दोहराव वाले कोड को रोकना था, यानी ऐसा कोड जो एक ही कार्य को अलग-अलग तरीकों से करता है। कार्यों को करने का एक स्पष्ट, एकल तरीका देकर, Python 3 की उपयोग में आसानी और पठनीयता में काफी सुधार हुआ।
Python 3 में कुछ बड़े बदलावों में print घोषणा को बिल्ट-इन फ़ंक्शन में बदलना, बेहतर पूर्णांक विभाजन, और उन्नत यूनिकोड सपोर्ट शामिल हैं। इन परिवर्तनों की प्रकृति ऐसी थी कि Python 3, Python 2 के साथ असंगत था; दूसरे शब्दों में, यह बैकवर्ड कम्पैटिबल नहीं है।
अलग-अलग Python संस्करण क्यों हैं?
आइए Python 2 और 3 के बीच के अंतर को समझाने के लिए कुछ कोडिंग उदाहरण देखें!
नया print() फ़ंक्शन
Python 2 में print स्टेटमेंट को Python 3 में print() फ़ंक्शन से बदल दिया गया है, यानी जिस ऑब्जेक्ट को हमें प्रिंट करना है उसे कोष्ठकों में रखना होगा।
Python 2:
>>> print 'Hello DataCamp'
Hello DataCamp
Python3:
>>> print('Hello Datacamp')
Hello Datacamp
पूर्णांक विभाजन
Python 2 में, पूर्णांकों का भाग देने पर परिणाम हमेशा पूर्णांक होता था। Python 3 में परिणाम हमेशा दशमलव सहित आता है, जिससे पूर्णांक विभाजन अधिक सहज हो जाता है।
Python 2:
>>> 5/2
2
Python 3:
>>> 5/2
2.5
यूनिकोड सपोर्ट
Python 2 में, हर यूनिकोड स्ट्रिंग को “u” उपसर्ग के साथ चिह्नित करना पड़ता था क्योंकि यह डिफॉल्ट रूप से ASCII अक्षर उपयोग करता है। इसके विपरीत, Python 3 में स्ट्रिंग्स डिफॉल्ट रूप से यूनिकोड के रूप में संग्रहित होती हैं, जो ASCII स्ट्रिंग्स की तुलना में अधिक बहुमुखी है।
Python 2:
>>> print type("Hello DataCamp!") # this is an ASCII string
<type 'str'>
>>> print type(u"Hello DataCamp!") # this is a Unicode string
<type 'unicode'>
Python 3:
>>> print(type("Hello DataCamp!")) # this is a Unicode string
<class 'str'>
Range फ़ंक्शन
Python 2 का xrange() फ़ंक्शन अब Python 3 में मौजूद नहीं है। इसे range() फ़ंक्शन से बदल दिया गया है, जो अनुक्रमों पर पुनरावृति करते समय बेहतर प्रदर्शन देता है।
Python 2:
>>> xrange(1,10)
xrange(1, 10)
>>> type(xrange(1,10))
<type 'xrange'>
Python 3:
>>> range(1,10)
range(1, 10)
>>> type(range(1,10))
<class 'range'>
निम्न तालिका में आप Python 2 और 3 के बीच मुख्य अंतर पा सकते हैं।
|
Python 2 |
Python 3 | |
|
रिलीज़ तिथि |
2000 |
2008 |
|
सिंटैक्स |
अधिक जटिल और समझने में कठिन |
पठनीय और आसानी से समझ में आने वाली |
|
प्रदर्शन |
डिज़ाइन खामियों के कारण धीमा प्रदर्शन |
Python 2 की तुलना में कोड के रनटाइम प्रदर्शन में सुधार |
|
print फ़ंक्शन |
print “Welcome to Datacamp” |
print (“Welcome to Datacamp”) |
|
पूर्णांक विभाजन |
परिणाम एक पूर्णांक मान होता है। दशमलव हमेशा काट दिए जाते हैं |
परिणाम हमेशा एक फ्लोट मान होता है |
|
यूनिकोड सपोर्ट |
डिफॉल्ट रूप से ASCII अक्षरों का उपयोग करता है। यूनिकोड मानों को संग्रहीत करने के लिए, आपको उन्हें “u” के साथ परिभाषित करना होगा |
स्ट्रिंग्स का डिफॉल्ट भंडारण यूनिकोड है |
|
Range |
संख्याओं का अनुक्रम बनाने के लिए xrange() फ़ंक्शन |
range() फ़ंक्शन, इटरेट करते समय, xrange() की तुलना में अधिक कुशल है |
|
बैकवर्ड कम्पैटिबिलिटी |
Python 2 को Python 3 में पोर्ट करना अपेक्षाकृत आसान |
Python 3, Python 2 के साथ बैकवर्ड कम्पैटिबल नहीं है |
|
लाइब्रेरीज़ |
Python 2 की कई पुरानी लाइब्रेरीज़ फॉरवर्ड-कम्पैटिबल नहीं हैं |
Python 3 की अधिकांश नई लाइब्रेरीज़ Python 2 में उपयोग नहीं की जा सकतीं |
क्या आप Python 2 को 3 में बदल सकते हैं?
विकास हर प्रोग्रामिंग भाषा की एक महत्वपूर्ण विशेषता है। भाषाएँ समय के साथ प्रदर्शन सुधारने और उपयोगकर्ताओं के लिए प्रासंगिक बने रहने हेतु विकसित होती हैं। Python 2 से 3 में जाना, Python के इतिहास में सबसे बड़ा परिवर्तन रहा है।
हालाँकि कंपनियों और डेवलपर्स के लिए अंततः अपने कोडबेस को Python 3 में माइग्रेट करना तर्कसंगत है – खासकर Python 2 के समर्थन समाप्त होने के बाद –, पुराने संस्करण से नए संस्करण में कोड पोर्ट करना कठिन और भयावह प्रक्रिया हो सकती है। Python में यह विशेष रूप से इसलिए चुनौतीपूर्ण है क्योंकि Python 2 की कई लाइब्रेरीज़ फॉरवर्ड-कम्पैटिबल नहीं हैं।
सौभाग्य से, कुछ संसाधन हैं जो Python 2 के कोड को Python 3 में बदलने में मदद कर सकते हैं।
- 2to3: एक Python प्रोग्राम जो Python 2.x सोर्स कोड लेकर उस पर कई फिक्सर्स लागू करता है ताकि उसे मान्य Python 3.x कोड में बदला जा सके।
- Python-Future: आपको एक एकल, साफ-सुथरे Python 3.x-कम्पैटिबल कोडबेस के जरिए न्यूनतम ओवरहेड के साथ Python 2 और Python 3 दोनों का समर्थन करने देता है।
- Six: Python 2 और 3 के बीच कम्पैटिबिलिटी लाइब्रेरी। यह Python संस्करणों के बीच के अंतरों को पाटने के लिए यूटिलिटी फ़ंक्शंस प्रदान करती है ताकि ऐसा कोड लिखा जा सके जो दोनों संस्करणों के साथ संगत हो।
Python 2 बनाम 3: कौन बेहतर है?
यह कुछ साल पहले तक बहस का विषय था, लेकिन आज इसमें कोई संदेह नहीं कि Python 3 बेहतर विकल्प है। पहला, 2020 से Python 2 का समर्थन बंद हो चुका है। इसलिए नए प्रोजेक्ट्स को Python 3.x में लिखना समझदारी है। दूसरा, चूँकि Python 2 का समर्थन नहीं है, विकास का सारा फोकस Python 3 पर है। भाषा में हर नए अपग्रेड के साथ लगातार सुधार हुए हैं (सबसे हाल का संस्करण Python 3.10.5 है, और पहले से ही Python 3.11 का बीटा संस्करण महत्वपूर्ण नई विशेषताओं के साथ उपलब्ध है)।
इस परिप्रेक्ष्य में, Python 3 का व्यापक अपनाया जाना आश्चर्य की बात नहीं है। JetBrains द्वारा किए गए 2021 Python Developers Survey के अनुसार, औसतन Python 3 का उपयोग करने वाले डेवलपर्स का हिस्सा 95% था। साथ ही, हर साल Python 2 उपयोगकर्ताओं का हिस्सा 5 प्रतिशत अंक घटता है।
Python 2 बनाम Python 3 का अपनाव

स्रोत: JetBrains
कौन-सा Python संस्करण उपयोग करें?
आज के समय में Python 3, Python का सर्वोत्तम संस्करण है। इसे चुनना सबसे सुरक्षित विकल्प है, खासकर नए प्रोग्रामर्स के लिए। समर्थन बंद होने के बाद से Python 2 तेज़ी से अप्रचलित होता जा रहा है, और अधिकाधिक कंपनियाँ अपना कोड Python 3 में माइग्रेट कर रही हैं। कई सॉफ्टवेयर क्षेत्रों में इसकी बढ़ती मांग, व्यापक उपयोग, और समुदाय-समर्थित लाइब्रेरीज़ के विशाल संग्रह को देखते हुए, Python 3 सीखना समझदारी है।
हालाँकि, यह ध्यान देने योग्य है कि कुछ परिस्थितियों में आपको अभी भी Python 2 का उपयोग करना पड़ सकता है। पहला, कई कंपनियों के पास Python 2 में लिखे पुराने कोडबेस हैं जिन्हें Python 3 में पोर्ट करना मुश्किल है। यदि जिस कंपनी या प्रोजेक्ट पर आप काम कर रहे हैं, उसमें ऐसा है, तो आपको Python 2 सीखना होगा। दूसरा, DevOps जैसे कुछ सॉफ्टवेयर क्षेत्रों में अब भी Python 2 की आवश्यकता होती है।
किसी भी स्थिति में, यदि आप डेटा साइंस में नया करियर शुरू करने पर विचार कर रहे हैं, तो Python 3 ही समझदारी भरा विकल्प है। DataCamp के साथ, आपके लिए सब तैयार है। हमारे Python कोर्स और ट्रैक्स देखें, और आज ही अपनी डेटा यात्रा शुरू करें!
Python सर्वोत्तम प्रथाएँ: अक्सर पूछे जाने वाले प्रश्न
कौन-सा Python संस्करण अधिक लोकप्रिय है?
Python 3 निर्विवाद विजेता है, जिसका अपनाव Python 2 की तुलना में बहुत अधिक है।
क्या Python डेटा साइंस के लिए उपयुक्त भाषा है?
डेटा साइंस के लिए सबसे लोकप्रिय प्रोग्रामिंग भाषाएँ Python और R हैं। DataCamp के पास Python कोर्स का बड़ा कैटलॉग है जो आपको शुरुआत करने में मदद करेगा।
किस संस्करण का रनटाइम प्रदर्शन बेहतर है?
हाँ! लगभग सभी परीक्षणों में। Python 3 आमतौर पर Python 2 से तेज़ है।
Python 2 का नवीनतम संस्करण कौन-सा है?
Python 2.7। 2020 में, इस संस्करण का समर्थन और मेंटेनेंस समाप्त कर दिया गया।
Python 3 में अपग्रेड क्यों करें?
Python 3 बेहतर भाषा है और इसके साथ Python 2 की तुलना में बेहतर मानक लाइब्रेरीज़ आती हैं। साथ ही, 2020 से भाषा और मानक लाइब्रेरीज़ में सुधार केवल Python 3 में ही हो रहे हैं।
क्या मैं Python 2 को Python 3 में पोर्ट कर सकता/सकती हूँ?
कुछ संसाधन हैं जिनसे आप अपना कोड Python 3 में अपडेट कर सकते हैं, जैसे 2to3, Python-Future, और Six।
क्या मैं Python 2 और 3 दोनों इंस्टॉल कर सकता/सकती हूँ?
हाँ। आप Python 2 और 3 के लिए अलग-अलग वर्चुअल एनवायरनमेंट बनाए रखकर ऐसा कर सकते हैं।