English  

كتب programmatic statements and flow control

اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.

عرض المزيد

العبارات البرمجية والتحكم بالتدفق (معلومة)


عبارات بايثون البرمجية تتضمن (من بين أمور أخرى):

  • عبارة مساواة (تأخذ إشارة المساواة =) تعمل بشكل مختلف عن بقية لغات البرمجة الأمرية وهذه الآلية الأساسية (تتضمن طبيعة إصدارات بايثون الخاصة بالمتغيرات) والتي تنير الطريق للعديد من ميزات اللغة الأخرى. نأخذ مثالاً عن المساواة في لغة سي: x = 2، يُترجم إلى "اسم المتغير المكتوب x يتلقى نسخة من القيمة العددية 2". تنسخ القيمة (اليمنى) في موقع تخزين مخصص بحيث يكون اسم المتغير (الأيسر) هو العنوان الرمزي. الذاكرة المخصصة للمتغير كبيرة بما يكفي (من المحتمل أن تكون كبيرة جدًا) للنوع المعلن. في أبسط حالة لإسناد بايثون (assignment)، وإذا قمنا بنفس العملية في بايثون (أي x = 2)، فإنه يُترجم إلى "اسم (generic عام) x يستقبل مرجعًا إلى كائن منفصل مُخصص ديناميكيًا نوعه العددي (int عدد صحيح) قيمته 2". هذا يسمى ربط الاسم بالكائن (binding). نظرًا لأن موقع تخزين الاسم لا يحتوي على القيمة المشار إليها، فمن غير المناسب تسميته متغيرًا. قد يتم إعادة الأسماء لاحقًا في أي وقت إلى كائنات من أنواع مختلفة اختلافًا كبيرًا، بما في ذلك السلاسل النصية strings والإجراءات والكائنات المعقدة مع البيانات والطرق،... إلخ. التعيينات (مساواة) المتتالية لقيمة مشتركة لأسماء متعددة، على سبيل المثال، x = 2؛ y = 2؛ z = 2 ينتج عن تخصيص مساحة تخزين (على الأكثر) لثلاثة أسماء وكائن عددي واحد، يتم ربط جميع الأسماء الثلاثة به. نظرًا لأن الاسم هو حامل مرجع عام (generic reference holder)، فمن غير المعقول ربط نوع بيانات ثابت به. ومع ذلك، في وقت معين، سيتم ربط الاسم بكائن ما، والذي سيكون له نوع؛ وبالتالي هناك كتابة ديناميكية.
  • العبارة إذا if، التي تنفذ كتلة الكود بشكل شرطي (أي لا ينجز إلا إدا توفر هذا الشرط)، الى جانب عبارة عدا ذلك else وelif اختصاراً لعبارة (عدا ذلك إذا else-if).
  • العبارة من أجل for، التي تتكرر فوق كائن قابل للتكرار بشكل حلقي، حيث تلتقط كل عنصر في متغير محلي لاستخدامه بواسطة الكتلة البرمجية المرفقة.
  • العبارة طالما while، التي تنفذ الكتلة البرمجية للكود طالما الشرط محقق.
  • العبارة جرّب try، التي تسمح بالتعامل مع الاستثناءات المرفوعة في مجموعة الكود المرفق والتعامل معها باستثناء except البنود؛ يضمن أيضًا تشغيل كود التنظيف في الكتلة البرمجية الأخيرة دائمًا بغض النظر عن كيفية خروج الكتلة.
  • العبارة رفع raise تستخدم لرفع استثناء محدد أو إعادة رفع استثناء تم اكتشافه.
  • العبارة صنف class، التي تقوم بتنفيذ كتلة من الكود وتربط مساحة الاسم المحلية الخاصة بها بصنف، لاستخدامها في البرمجة الموجهة للكائنات.
  • العبارة تعريف def، التي تُعرّف دالة أو طريقة.
  • العبارة مع with، من بايثون2.5 التي صدرت في سبتمبر 2006 ، والتي ترفق كتلة الكود داخل مدير السياق (على سبيل المثال، الحصول على قفل قبل تشغيل كتلة الكود وإطلاق القفل بعد ذلك، أو فتح ملف ثم إغلاقه)، والسماح لاكتساب الموارد الذي هو سلوك يشبه التهيئة (RAII) ويحل محل العبارة الإصطلاحية محاولة/أخيراً try/finally.
  • العبارة توقف break تعني أخرج من الحلقة.
  • العبارة تابع continue تتجاوز التكرارية الحالية وتتابع للعنصر التالي.
  • العبارة تجاوز pass، والتي تعمل بمثابة لا عملية. تستعمل عندما هناك حاجة نحويًا لإنشاء كتلة كود فارغة.
  • العبارة تأكيد assert، المستخدمة أثناء تصحيح الأخطاء للتحقق من الشروط التي يجب تطبيقها.
  • العبارة تحصيل yield والتي تعيد قيمة من الدالة المولّدة. بدءاً من بايثون 2.5،yield هي أيضاً عملية. هذا الشكل يستخدم عادةً لتنفيذ الروتينات المساعدة.
  • العبارة استيراد import، وهي التي تستخدم لاستيراد نماذج التي يمكن استخدام دوالها ومتغيراتها في البرنامج الحالي. يوجد ثلاث طرق لاستخدام العبارة استيراد import:
  1. import <module name> [as <alias>]
  2. from <module name> import *
  3. from <module name> import <definition 1> [as <alias 1>], <definition 2> [as <alias 2>],....
  • العبارة اطبع print والتي تغيرت الى دالة اطبع()print في بايثون 3.

بايثون لا تدعم التحسين الخاص الاستدعاء الذيلي أو (استمرارية الدرجة الأولى)، كما أعلن لغايدو فان روسم أنه لن تدعم أبداً. ومع ذلك، يتم توفير دعم أفضل للوظائف الشبيهة بالروتين المساعد في النسخة 2.5، من خلال توسيع مولدات بايثون. قبل نسخة 2.5، كانت المولدات مكررات كسولة، والتي يتم تمرير المعلومات من اتجاه واحد خارج المولد. ابتداءً من بايثون 2.5، صار من الممكن تمرير المعلومات مرة أخرى إلى دالة المولد، وبدءاً من بايثون 3.3، صار من الممكن أيضا تمرير المعلومات من خلال تعدد مستويات المكدس.

المصدر: wikipedia.org