سؤال

يوم سعيد،

أريد العودة إلى بايثون بعد عدم استخدامها لفترة من الوقت ورأيت هذا السؤال "نسخة بايثون للمبتدئين" بينما تتساءل عن العودة إلى Python 2.6 أو Python 3.

كانت جميع إجابات الأسئلة تقريبًا على غرار أن معظم الأكواد الموجودة والمكتبات والأنظمة القديمة وما إلى ذلك هي 2.5 أو 2.6 بدلاً من 3، لذا ابدأ بـ 2.x الآن ثم اتجه نحو 3 لاحقًا.

وبما أن السؤال وجميع الإجابات يرجع تاريخها إلى أوائل ديسمبر 2008، كنت أتساءل هل لا يزال هذا هو الحال؟

هل يجب على الشخص الذي يريد العودة إلى بايثون أن يبدأ بـ 2.6 ثم يتجه نحو 3 لاحقًا؟

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

المحلول

نعم. تقريبا جميع نظم الإنتاج الحية سوف تستخدم 2.5 / 2.6 لفترة طويلة حتى الان. ليست هناك جدوى التعلم 3.0، إلا أن يكون لخفض لأن المضيف الخاص بك لا يعتمد عليه.

و95٪ من ما سوف تتعلم في 2.5 / 2.6 قابلة للتطبيق على 3 على أي حال.

نصائح أخرى

يعتمد على كمية المكتبات التي ستستخدمها.

  • Raw Python، أو جميع libs متاحة لـ Py3k - استخدمها دون أي شك.

  • تم توزيع كود Python كتطبيق مستقل (باستخدام PyInstaller)، بالاعتماد على بعض إصدارات واجهة المستخدم الرسومية، وXML-lib، وwin32api وما إلى ذلك - تحقق مرة أخرى مما إذا كانت جميع libs متاحة على الأقل كإصدارات تجريبية لـ Py3k.لا تزال هناك احتمالات كبيرة جدًا لعدم توفر بعض lib الأقدم لـ Python 3.x، وإما أن تقوم بنقله بنفسك إلى إصدار Python الجديد، أو تقوم بالتبديل إلى بعض lib آخر أو - التمسك بـ Python 2.6 لفترة من الوقت.

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

أود أن أقول إن Python 2.4 هو الأكثر أمانًا للتعلم، ولكن التغييرات من 2.4->2.5->2.6 تحقق بعض التقدم البسيط نحو Python 3.x، حتى لو لم يتمكنوا من تحقيق ذلك أبدًا (إذا كنت أتذكر، ستكون هناك بعض الخطوات الإضافية) ؟).

يمكن استخدام Python 3.1 إذا كنت تمتلك خادمًا مخصصًا وتنوي إنشاء تطبيقاتك الخاصة من الألف إلى الياء.يدعم WSGI هذا، لكنني لا أوصي به.

كما قلنا من قبل، سأتعلم أسلوب Python 2.5 أو Python 2.6، لكني سأجري بعض التغييرات.

انظر إلى أسلوب Python 3 فيما يتعلق بالأقواس.

على سبيل المثالكانت وظيفة الطباعة في 2.x دائمًا عادلة

print "Hello World"

حيث كما هو الحال في 3.x تحتاج إلى إرفاقه

print("Hello World")

ربما تكون هذه ممارسة جيدة يجب اتباعها، ولكن أشياء مثل الاستثناءات ستسبب مشكلات إذا كنت تستخدم 3.x في 2.x.أعلم أن الأمر قد يكون مربكًا بعض الشيء، ولكن إذا تأكدت من تغليف وظائفك (لا ينبغي للأقواس الإضافية أن تؤذي معظم الأشياء) بحيث لا يكون هناك شيء مكشوف (عاري مثل مقتطف الكود الأول أعلاه)، فسوف يساعدك ذلك في انتقال.

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

وأنا لمرة واحدة لا تزال متاحة في 2.6 الأسلوب واتباع هذه المبادئ التوجيهية، لم أر التغييرات في 3.0

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