ما ملامح الثعبان 3.0 لتغيير حياتك اليومية الترميز ؟ [مغلقة]

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

  •  19-08-2019
  •  | 
  •  

سؤال

Py3k خرج للتو وقد كتل من أنيق الاشياء الجديدة!أنا الغريب, ما هي حتى pythonistas معظم متحمسون ؟ ما هي الميزات التي سوف تؤثر على طريقة كتابة التعليمات البرمجية بشكل يومي ، أو كنت تتطلع إليها ؟

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

المحلول

وهناك عدد قليل من الأشياء أنا مهتمة جدا في:

نصائح أخرى

أتمنى أن استثناء تسلسل المصيد.فقدان استثناء تتبعات المكدس بسبب antipattern الواردة أدناه قد تم بلدي الحيوانات الأليفة غيظ لفترة طويلة:

try:
   doSomething( someObject)
except:
   someCleanup()

   # Thanks for passing the error-causing object,
   # but the original stack trace is lost :-(

   raise MyError("Bad, bad object!", someObject)

أعرف, أعرف, إضافة بعض السياق معلومات الأصلي استثناء و الحفاظ على الأصلي تتبع المكدس كان ذلك ممكنا ، ولكن المطلوب حقا قبيحة هاك.الآن يمكنك ( ينبغي!) فقط:

raise MyError("Bad, bad object!", someObject) from original_exception

وسهولة الحصول على كل ما سبق.وذلك كجزء من مهمتها المقدسة ضد فقدت تتبعات المكدس:

الناس لا تنسى من شرط عندما reraising استثناءات!شكرا لك.

وبكل صراحة، لا شيء من ذلك. بينما أنا ربما أجد نفسي باستخدام بعض من بناء الجملة جديد، وأنا أساسا استخدام بايثون للمخطوطات سريعة وبسيطة والتعابير العادية.

وأعتقد أن الميزات الجديدة جعل الكثير من الأشياء الصغيرة أسهل قليلا بالنسبة للكثير من الناس وعدد قليل من الأشياء الكبيرة من السهل على عدد قليل من الناس. ومع ذلك، أنا متشكك في أي مزاعم بأن الكثير من الناس في نهاية المطاف العثور على المكاسب الهائلة في الإنتاجية.

وباختصار، أعتقد أن هذه التغيرات تجعل الأمور أفضل قليلا عموما، ولكن لا نتوقع أي معجزات.

وليس ذلك بكثير ميزة، ولكن أعتقد أن تنظيف المكتبة أن يكون عونا كبيرا، وإسبانيا. للمبرمجين الثعبان الجديد. في أكثر من مناسبة واحدة وقد أردت أن تفعل شيئا في بيثون فقط لتجد بينهم اثنان من المكتبات التي توفر هذه الوظيفة، مع عدم وجود سبب واضح لماذا يجب أن اختار أحدهما على الآخر.

وهنا مقالة جيدة وهو ما يفسر الميزات الجديدة و / أو الاختلافات فيما يتعلق الإصدار 2.x الثعبان الآيات الثعبان 3.

HTTP: //www.b-list. غزاله / مدونة / 2008 / ديسمبر / 05 / الثعبان-3000 /

وعلى الرغم من ما فعلوه لتحقيق أصغر بالطبع الهجرة ممكن مع غاتها، وأجد الإفراج كاملة من python3 تصل إلى عشر سنوات من مسار مؤلمة للهجرة. لذلك أنا لا تجد من جذب بشكل خاص.

والتحسينات فعلوا كلها جيدة ومهمة. كانت نوعين مختلفين سلاسل مصدر الحقيقي للمضايقات في كل مكان، وبالتالي فإنه من الجيد انهم تخلصوا من كائن يونيكود ويعترض بايت قدم جانبا الآن شارع يونيكود.

ووbignum مقابل الأسطوانات -تغيير كان من الراحة وأعتقد أن ذلك أيضا كان خيارا جيدا. بشكل إجمالي أنها تنظف اللغة من المكونات الضارة التي تراكمت خلال السنوات العشر الماضية.

كان

والثانية أسوأ شيء فعلوه 10٪ أبطأ التنفيذ، كما لو أن سرعة لا تكون مشكلة الثعبان بالفعل.

وأعتقد أن إطلاق سراح python3 يدفع أسفل سمعة الثعبان بدلا من يحسن ذلك. الحق الآن هم مرة أخرى في بداية مع لغتهم عندما يتعلق الامر لدعم المكتبات.

عدم الاضطرار إلى القيام بقدر..

  • لا الحاجة إلى القلق حول استخدام unicode() أو u"".

  • عدم الاضطرار إلى البحث على الرغم من مستندات urllib urllib2 و httplib إلى حيث تجد أن الوظائف لا تحتاج إلى ترميز ملف وتحميله من خلال وظيفة طلب

  • لا الحاجة إلى القلق حول الطقس except TypeError, something: سوف قبض على TypeError و something, أو TypeError في شيء..

و على العكس من ذلك ، الحاجة إلى النظر في المستندات مرة أخرى!أنا أعرف الثعبان جيدا بما فيه الكفاية الآن أنا يمكن أن تفعل معظم الأشياء دون الإشارة إلى pydoc ، ولكن في كل مرة أفعل ذلك اكتشفت بعض وحدة مفيدة أو وظيفة.

والبيان الطباعة. <sniff> أنا بدأت تفوت بالفعل.

في الواقع، حتى قبل الذهاب الى بايثون 2.6، ونحن تطهير print لصالح logging.debug. هذا هو فقط للخروج من هذه العادة من استخدام print عرضا لتصحيح الأخطاء والدعم والتنمية.

وماذا تبقى بعض البرامج التي تنتج فعلا الاشياء على المعياري. بالنسبة لأولئك، ونحن قد يعرض متوافقة وظيفة "طباعة" 2.6 / 3.0 في واحدة من مكتباتنا.

وقاموس comprehensions ليست بالضرورة مزلزلة لكنها لطيفة جدا.

وعلى الرغم {k: v for k, v in list} أطول من dict(list) انها أكثر مرونة وexplanitory الذاتي.

واحدة من السمات الأكثر التقليل من بيثون 3 هو إدخال فئات مجردة قاعدة. هذا هو الشيء الذي لن تحدث ثورة البرمجة بايثون على الفور، ولكن يمثل تحولا مثيرا للاهتمام من نهج بطة الكتابة فضفاضة في اتجاه واجهات تعريف أفضل.

ويمكن الاطلاع على مزيد من المعلومات في PEP 3119 .

وفقط حول كل منهم كما أنني آخذ إطلاق سراح بيثون (3) والدافع لتعلم اللغة.

ويونيكود (UTF-8) هو المهم حقا بالنسبة للأشخاص الذين يعيشون في البلدان الناطقة باللغة غير الإنجليزية.

ولم يعجبني لتحديد الترميز في بداية الملف، لأنني ننسى دائما. عادة النص الخاص بي متوافق مع ASCII لأنني أستخدم UTF-8، لذلك تعمل بدون مواصفات الترميز. ولكن إذا أنا أكتب اسمي (بلكنة) أو علامة €، فإنه يكسر ... انتهى بي الأمر كتابة الأحرف يونيكود مع \ uxxxx تمثيلها لكنه خفي كيندا!

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