क्या समस्याएं हैं अजगर 3 नई सुविधाओं का समाधान? [बन्द है]


18

पायथन 3 नई सुविधाओं का कहना है:

हम ज्यादातर जाने-माने झुंझलाहट और मौसा को ठीक कर रहे हैं, और बहुत सारे पुराने अपराध को हटा रहे हैं

इसमें उल्लेख है कि क्या अलग है (तय) लेकिन क्यों नहीं (समस्याएं)। मैंने नहीं पाया कि क्या समस्याएं थीं। फ़िक्सेस हल करने में क्या समस्याएं थीं?


1
एक मस्सा हालांकि, उन्होंने नहीं हटाया, इसका कारण एक कक्षा पद्धति के लिए 'स्व' पास करना है। फेल ट्रेन।
रिग

जवाबों:


11

मैं बस उन लोगों का नाम लूंगा जो तुरंत दिमाग में आते हैं।

  • कीवर्ड-केवल तर्क: पीईपी के औचित्य में वर्णित है।
  • nonlocal: इसके बिना, क्लोजर बंद किए गए वेरिएबल को ओवरराइट नहीं कर सकता। यह आवश्यकता समय-समय पर सज्जाकार और अन्य उच्च-क्रम के कार्यों के साथ उत्पन्न होती है। केवल उचित वर्कअराउंड (बाहरी एपीआई को स्विच किए बिना), जो आप एक उत्परिवर्तनीय वस्तु में चाहते हैं, जो भी आपरेट करना चाहते हैं, वह अत्यधिक बदसूरत है।
  • डिक्शनरी और सेट कॉम्प्रिहेंशन: जनरेटर कॉम्प्रिहेंशन के माध्यम से किए जाने वाले लिस्ट कॉम्प्रिहेंशन के समान तरीके से डिक्शनरी और सेट बनाना बहुत कम और थोड़ा धीमा होता है। यह हमें इन प्रकारों का उपयोग करने में सक्षम बनाता है जहां वे अतिरिक्त लागत के बिना उपयुक्त हैं। सेट शाब्दिक के लिए डिट्टो, विशेष रूप से inपरीक्षणों के लिए (पायथन 3.2 के रूप में, ये भी पीपहोल ऑप्टिमाइज़र द्वारा अनुकूलित हैं)।
  • ऑक्टल शाब्दिक रूप से पायथन 2 में मौजूद थे, लेकिन 0777अंकन उन लोगों के लिए एक नुकसान है जो इसका इस्तेमाल नहीं करते थे (अन्य संदर्भों में, एक अग्रणी शून्य परिवर्तन न तो मूल्य और न ही आधार को जोड़ते हैं)।
  • द्विअर्थी शाब्दिक बिट फ़िडलिंग के लिए उपयोगी होते हैं, यहां तक ​​कि हेक्साडेसिमल शाब्दिक की तुलना में मोर्सो भी।
  • बाइट शाब्दिक यूनिकोड स्ट्रिंग्स और बाइट स्ट्रिंग्स के बीच लागू अंतर का एक लक्षण है, और स्ट्रिंग शाब्दिक यूनिकोड है। ये परिवर्तन आपको पाठ और निर्बाध बाइनरी डेटा और एनकोडिंग के बीच अंतर के बारे में सोचने के लिए मजबूर करते हैं। यह इसलिए मायने रखता है क्योंकि अन्यथा आपको एन्कोडिंग से संबंधित त्रुटियों को खोजने के लिए व्यापक परीक्षण की आवश्यकता होती है (इनपुट के साथ हमें अंग्रेजी बोलने वाले, यूरोप / अमेरिका-केंद्रित मूर्ख शायद ही कभी सोचते हैं)।
  • except ex, var-> except ex as varसामान्य त्रुटि को ठीक करता है except ValueError, IndexError(दोनों को पकड़ना चाहिए, लेकिन केवल पहले को पकड़ता है और IndexErrorपकड़े गए अपवाद के साथ नाम को अधिलेखित करता है)।
  • सूझ-बूझ की गुंजाइश: सूची नाम स्थान को प्रदूषित करने से बचें, और जनरेटर के भाव के संदर्भ में उन्हें सोचने की अनुमति दें।
  • हटाए गए सिंटैक्स और मॉड्यूल: हमें पास लाएं "एक होना चाहिए - और अधिमानतः इसे करने के लिए केवल एक - स्पष्ट तरीका।" और खराब ट्यूटोरियल वाले लोगों को चीजों को ठीक करने के पुराने और ख़त्म करने के तरीके से बचा जाता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.