2008-12-05 16 views
14

पायथन 2.6 मूल रूप से पाइथन 3 में परिवर्तित करने के लिए एक कदम पत्थर था। पायथन 3 के लिए निर्धारित कई विशेषताओं को 2.6 में लागू किया गया था यदि उन्होंने वाक्यविन्यास और कक्षा libs के साथ पिछड़ा संगतता तोड़ नहीं दी।पायथन 2.6 ने शाब्दिक और समझ या नियमों की समझ क्यों निर्धारित नहीं की है?

क्यों सेट नहीं कर रहे थे शाब्दिक ({1, 2, 3}), सेट comprehensions ({v for v in l}), या dict comprehensions ({k: v for k, v in d}) उन के बीच में? विशेष रूप से दिमाग की समझ में एक बड़ा वरदान होता ... मैं खुद को काफी यूगलियर dict([(k, v) for k, v in d]) का उपयोग हाल ही में एक भयानक बहुत से उपयोग करता हूं।

क्या कुछ स्पष्ट है कि मुझे याद आ रही है, या यह सिर्फ एक ऐसी विशेषता थी जिसने कटौती नहीं की थी?

+2

ध्यान दें कि ये सभी सुविधाएं पाइथन 2.7 में लागू की गई हैं। http://docs.python.org/dev/whatsnew/2.7.html –

उत्तर

19

ऐसा नहीं किया गया क्योंकि किसी ने इसे करने का समय नहीं लिया। वहाँ महीनों के लिए खोला कीड़े हैं, और कोई भी उन पर टिप्पणी की:

तो यह किसी को भी, देखभाल करने के लिए के लिए शायद काफी महत्वपूर्ण नहीं था।

+1

आपका उत्तर मेरी तुलना में अधिक संक्षिप्त और सहायक है :) – tzot

10

ये सभी वाक्यविन्यास/व्याकरण परिवर्तन हैं। इस तरह के परिवर्तन पारंपरिक रूप से from __future__ import … कथन के साथ एक पायथन x.y संस्करण में पेश किए जाते हैं, और कम से कम पायथन एक्स। (वाई + 1) संस्करण पर लागू होते हैं। इन बदलावों के लिए अभी तक एक संक्रमण नहीं हुआ है।

तकनीकी रूप से, मैंने आपके "क्यों" का उत्तर दिया है।

अब, अगर आप का मतलब है, "क्यों नहीं किसी को भी समय का सुझाव, समर्थन और कुछ है कि मैं भी 2.x में करना चाहते हैं, भले ही वे के बारे में पता नहीं है लागू करने के लिए लिया चूंकि I ने कभी भी comp.lang.python या पायथन-देव और I में उन वाक्यविन्यास संवर्धनों को बैकपोर्ट करने का सुझाव देने/समर्थन करने का प्रयास नहीं किया है, कभी भी पीईपी पढ़ने की कोशिश नहीं की? ", तो जवाब भी आपके भीतर है, और आप खुद को एक उत्तर दे सकते हैं।

HTH

BTW, आप dict([(k,v) for k,v in d]) फार्म का उपयोग नहीं करना चाहिए, लेकिन dict((k,v) for k,v in d)। अधिक कुशल। इंटरमीडिएट सूची क्यों बनाएं?

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