لماذا لم تقم Python 2.6 بتعيين القيم الحرفية والفهم أو الإملاء على الفهم؟[مغلق]

StackOverflow https://stackoverflow.com/questions/345356

  •  19-08-2019
  •  | 
  •  

سؤال

كان Python 2.6 في الأساس بمثابة نقطة انطلاق لتسهيل التحويل إلى Python 3.تم تنفيذ الكثير من الميزات المخصصة لـ Python 3 في الإصدار 2.6 إذا لم تنتهك التوافق مع الإصدارات السابقة مع بناء الجملة و libs للفئة.

لماذا لم يتم تعيين الحروف ({1, 2, 3})، ضبط الفهم ({v for v in l})، أو إملاء الفهم ({k: v for k, v in d}) فيما بينها؟على وجه الخصوص، كان فهم الإملاء بمثابة نعمة عظيمة ...أجد نفسي باستخدام أقبح إلى حد كبير dict([(k, v) for k, v in d]) الكثير في الآونة الأخيرة.

هل هناك شيء واضح أفتقده، أم أن هذه مجرد ميزة لم يتم تضمينها؟

هل كانت مفيدة؟

المحلول

لم يتم ذلك لأن أحداً لم يأخذ الوقت الكافي للقيام بذلك.هناك أخطاء مفتوحة منذ أشهر ولم يعلق عليها أحد:

لذلك لم يكن الأمر مهمًا بدرجة كافية ليهتم به أي شخص، على الأرجح.

نصائح أخرى

وجميع هذه التغييرات في بناء الجملة / النحوي. وتقليديا أدخلت هذه التغييرات لأول مرة في إصدار بيثون x.y مع بيان from __future__ import …، وتنفيذها على الأقل على بيثون س. (ص + 1) الإصدار. هذا التحول لم يحدث بعد هذه التغييرات.

ومن الناحية الفنية، وأنا قد أجبت بك "لماذا".

والآن، إذا كنت تعني، "لماذا لم أي شخص تأخذ من الوقت لاقتراح ودعم وتنفيذ شيء <م> أنا أود أن يكون في 2.x أيضا، حتى لو <م> هم لا أعرف عن ذلك منذ <م> أنا أبدا حاولت أن توحي / دعم backporting تلك التحسينات في بناء الجملة في أي comp.lang.python أو بيثون ديف و<م> أنا أبدا حاولت قراءة حتى ممثلي المخاطر؟ "، ثم الجواب يكمن في أنت أيضا، ويمكن أن تقدم إجابة نفسك.

وHTH

وراجع للشغل، يجب عدم استخدام شكل dict([(k,v) for k,v in d])، ولكن dict((k,v) for k,v in d). أكثر فعالية. لماذا خلق قائمة وسيطة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top