2010-06-25 24 views
5

संभावित डुप्लिकेट:
Is it advisable to go with Python 3.1 for a beginner?
What version of Python should I use if I’m a new to Python?मुझे किस पायथन का उपयोग करना चाहिए?

वास्तव में अजगर में कुछ भी ... कौन सा अजगर मैं के ahold लेना चाहिए नहीं किए हैं? 2.X या 3.X?

+0

मैं शुरुआत नहीं कर रहा हूं; मैंने थोड़ी देर में पायथन का उपयोग नहीं किया है और जानना चाहता था कि किसका उपयोग किया जाना चाहिए। मुझे बताया गया कि 3.1 2.6 का फोर्क किया गया है। –

उत्तर

7

2.X अभी भी आपकी सहायता करने के तीसरे पक्ष के पुस्तकालयों/चौखटे, अनुदेशात्मक वेबसाइटों और किताबें, और विशेषज्ञों के एक दूर व्यापक विविधता प्रदान करता है - मैं उम्मीद जब तक 3.X धीरे-धीरे यह overtakes यह एक कुछ वर्षों के लिए जारी रहेगा। फिलहाल, मैं अभी भी 3.x के बावजूद 2.X की सिफारिश करता हूं, यहां तक ​​कि अधिक से अधिक "साफ-सुथरा" और सादगी (क्योंकि कुछ क्रुफ्ट जो 2.x को पिछड़ा संगतता के लिए चारों ओर उत्सुक होना पड़ता है अंततः 3.x में मिटा दिया गया था)। 3.x की बहुत कम नई विशेषताएं 2.x में बैकपोर्टेड नहीं हैं, ई-जी, यदि आप print को फ़ंक्शन के लिए चाहते हैं, जैसे 3.x में, अपने 2.6 या 2.7 मॉड्यूल में, बस डालें , मॉड्यूल के शुरू, बयान

from __future__ import print_function 

पर "भविष्य से आयात करना" नई सुविधाओं उपलब्ध बनाने के लिए जब स्पष्ट रूप से पश्च संगतता को तोड़ने के बिना, का अनुरोध किया एक ठेठ अजगर तरीका है।

+0

मुझे प्यार है कि कैसे आयात लाइन सादे भाषा में पढ़ती है। – BoltClock

1

2.x

काफी कुछ मॉड्यूल अभी तक अजगर 3 वापस पोर्ट नहीं किया गया है और आप और अधिक किताबें, सीखने अजगर 2.x के लिए ऑनलाइन संसाधनों मिलेगा

तुम भी अजगर पर भरोसा नहीं कर सकते 3 प्रीइंस्टॉल किया जा रहा है, जबकि अधिकांश लिनक्स वितरण के लिए आप पाइथन 2 के कुछ संस्करणों पर भरोसा कर सकते हैं। केवल एक ही मुझे पता है कि पहले से ही पाइथन 3 पैकेज नवीनतम Fedora 13 है। यदि यह आपके लिए मायने रखता है तो आपकी आवश्यकताओं पर निर्भर करता है।

1

मैं कहूंगा कि यह निर्भर करता है कि आप कोड को चलाने के लिए कहां जा रहे हैं। यदि आपके पास पर्यावरण पर पूर्ण नियंत्रण है, तो 3.x का उपयोग करें। यदि आपका पर्यावरण बाहरी रूप से नियंत्रित होता है (उदाहरण के लिए सस्ते वेबहोस्टिंग) तो आपको शायद 2.x का उपयोग करने की आवश्यकता होगी। 2.x के साथ चिपकने का एकमात्र अन्य कारण यह है कि यदि कोई महत्वपूर्ण लाइब्रेरी जिसे आप बिना नहीं जी सकते हैं, उसे अभी तक 3.x तक पोर्ट नहीं किया गया है। यदि आप इससे बच सकते हैं तो 2.x-isms के साथ नया कोड न करें।

0

यदि आप केवल पाइथन सीख रहे हैं (और आपके पास एक विशिष्ट प्रोजेक्ट नहीं है जिसे आपको पूरा करने की आवश्यकता है), तो मैं सुझाव दूंगा कि आप नवीनतम संस्करण (3.x) से शुरू करें। भले ही आप 2.x से शुरू करते हैं, फिर भी, मूल बातें समान होंगी, इसलिए आप 3.x में बहुत तेज़ी से सीखने में सक्षम होंगे।

1

पायथन 3.0 पर भी this related (though not identical) thread देखें।

जबकि मुझे लगता है कि 3.x के लिए मामला एक साल पहले की तुलना में अधिक आकर्षक है, फिर भी इसमें 2.x के तीसरे पक्ष के लाइब्रेरी कवरेज की चौड़ाई नहीं है। मैं 2.6 के लिए विकास करने और माइग्रेशन यूटिलिटीज का उपयोग करने का सुझाव दूंगा जब समय आखिरकार आता है (उदाहरण के लिए को मजबूर कर रहा है) 3.x पर जाने के लिए।

0

, 2.x

मैं पुस्तकालयों और अजगर 3.x के साथ संगतता समस्याओं का एक बहुत में भाग के साथ जाएं हालांकि मैं कौन सा विशेष रूप से याद नहीं आ रहा। विशिष्ट समस्या जो मैं देख रहा था उसे यूनिकोड तारों के साथ करना था, जो मैं समझता हूं वह पाइथन 3 में डिफ़ॉल्ट है। लाइब्रेरी ने यूनिकोड तारों का उपयोग करते समय अपवाद फेंक दिया, और सामान्य ASCII तारों के लिए एक त्रुटि लौटा दी।यह लगभग 6 महीने पहले था, और मुझे लगता है कि तब से समर्थन में काफी सुधार नहीं हुआ है।

यदि आप पूरी तरह से सुनिश्चित हैं कि आप किसी बाहरी पुस्तकालय का उपयोग नहीं करेंगे, तो 3.x आपको काट नहीं सकता है। एक समझौता के रूप में, आप 2.x का उपयोग कर सकते हैं और इसे संगत बनाने के लिए 3.x में परिवर्तनों से बचने का प्रयास कर सकते हैं।

2

आप भाग्यशाली हैं! पिछले कुछ दिनों में इस लोगों के बारे में बहुत भ्रम के कारण एक विकी पेज एक साथ रखा गया है: Should I use Python 2 or 3?

संबंधित मुद्दे