الانتقال إلى المحتوى الرئيسي

كيفية إيقاف وظيفة في بيثون: أفضل الطرق

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

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

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

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

  1. القسم 1: استخدام الكلمة الرئيسية الإرجاع
  2. التطبيق داخل وظيفة
  3. إرجاع قيمة من دالة
  4. القسم 2: استخدام الكلمة الرئيسية رفع
  5. توليد استثناء
  6. التعامل مع استثناء في التعليمات البرمجية الخارجية
  7. سؤال وجواب
  8. كيف يمكنني إيقاف وظيفة في بيثون?
  9. كيف يمكنني استخدام الكلمة العودة لوقف وظيفة?
  10. في الحالات التي ينبغي أن تستخدم المشغل رفع لوقف وظيفة?
  11. ما هي الطرق الأخرى لوقف وظيفة في بيثون?
  12. كيف يمكنني إيقاف وظيفة متكررة في بيثون?
  13. هل من الممكن لوقف وظيفة في بيثون دون استخدام العودة أو رفع?

الباب 1: استخدام الكلمة الرئيسية الإرجاع

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

مثال:

صفر حساب المجموع (أ ، ب):

العودة أ + ب

النتيجة = حساب المجموع (10 ، 5)

طباعة (نتيجة) # المخرجات 15

وعرضها على الشاشة.

يمكن أيضا استخدام الكلمة الرئيسية المرتجعة دون تحديد قيمة ، وفي هذه الحالة تنتهي الوظيفة ببساطة:

ديف ساي مرحبا (الاسم):

إذا لين (اسم) > 0:

عودة "مرحبا" ، + الاسم

آخر:

العودة

تحية = قل مرحبا ("آنا")

طباعة (تحية) # مخرجات "مرحبا ، آنا"

لا_تحية = قل_مرحبا ("")

طباعة (لا_التحية) # المخرجات لا شيء

، فإنه يعود تحية ، وعندما دعا مع حجة فارغة ، فإنه يعود لا شيء.

التطبيق داخل وظيفة

داخل الوظيفة. هذه العوامل تسمح لك لإجهاض تنفيذ وظيفة والعودة نتيجة أو رفع استثناء.

، يتم مقاطعة تنفيذ الوظيفة على الفور ، ويتم نقل التحكم إلى رمز الاتصال. على سبيل المثال:

ميدان ديف (خ):

النتيجة = س * س

نتيجة الإرجاع

  • إرجاع القيمة

، ثم يتم مقاطعة تنفيذ الوظيفة على الفور ، ويتم تمرير الاستثناء إلى رمز الاتصال. على سبيل المثال:

ديف الفجوة (س ، ص):

إذا ص = = 0:

رفع القيمةخطأ ("القسمة على صفر غير مسموح بها")

النتيجة = س / ص

نتيجة الإرجاع

  • المرتجعات
  • مع الرسالة

يسمح لك بالتحكم في تنفيذ وظيفة وإيقافها إذا لزم الأمر.

إرجاع قيمة من دالة

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

بناء جملة بيان الإرجاع هو كما يلي:

ديف اسم الوظيفة (المعلمات):

# تنفيذ

رمز وظيفة قيمة الإرجاع

مثال:

الأرقام المضافة (س ، ص):

العودة س + ص

النتيجة = إضافة أرقام (5 ، 3)

طباعة (النتيجة) # المخرجات 8

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

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

مثال:

مواطن_حتى (عدد):

إذا كان الرقم % 2 = = 0:

العودة الحقيقية

آخر:

العودة كاذبة

النتيجة = هو_حتى(7)

طباعة (نتيجة) # مخرجات كاذبة

في هذا المثال ، تأخذ دالة إس_حتى رقما وتعود صحيحا إذا كان الرقم زوجيا ، وخطأ إذا كان الرقم فرديا.

القسم 2: استخدام الكلمة الرئيسية رفع

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

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

مثال على استخدام رفع:

تقسيم مواطنه (أ ، ب):

إذا ب = = 0:

رفع التأهل الصفريخطأ ("القسمة على صفر أمر مستحيل!")

العودة أ / ب

حاول:

النتيجة = قسمة (10 ، 0)

باستثناء الخطأ الصفري مثل ه:

طباعة (هـ)

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

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

توليد استثناء

رمي استثناء هو طريقة واحدة لوقف تنفيذ وظيفة في بيثون. تستخدم الاستثناءات للتعامل مع الأخطاء أو المواقف الأخرى غير المتوقعة التي قد تحدث أثناء تنفيذ البرنامج.

لإنشاء استثناء في بايثون ، يتم استخدام الكلمة الرئيسية رفع ، مما يدل على نوع الاستثناء ورسالة خطأ اختيارية:

رفع نوع الاستثناء (رسالة خطأ)

على سبيل المثال ، لإنشاء استثناء أساسي ، يمكنك استخدام التعليمات البرمجية التالية:

رفع استثناء ("حدث خطأ!")

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

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

محاولة بناء:

هنا يتم تنفيذ التعليمات البرمجية ، حيث قد يحدث استثناء من نوع الاستثناء

:

يتم وصف معالجة الاستثناء هنا

تحدد كتلة المحاولة الرمز المراد التحقق منه بحثا عن استثناءات. إذا حدث استثناء من النوع المحدد نتيجة لتنفيذ هذا الرمز ، فإن التحكم يمر إلى الكتلة باستثناء ، حيث يتم تنفيذ رمز معالجة الاستثناء.

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

التعامل مع استثناء في التعليمات البرمجية الخارجية

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

إذا تم استدعاء الوظيفة في كتلة المحاولة ، فعند حدوث استثناء ، يتم نقل التحكم إلى الكتلة باستثناء. داخل الكتلة باستثناء ، يمكنك كتابة التعليمات البرمجية التي سيتم تنفيذها عند حدوث استثناء. بعد تنفيذ التعليمات البرمجية داخل الكتلة باستثناء ، يستمر تنفيذ البرنامج بعد كتلة المحاولة باستثناء.

في ما يلي رمز مثال يوضح استخدام معالجة الاستثناء لإيقاف وظيفة في التعليمات البرمجية الخارجية:

ديف الفجوة (س ، ص):

حاول:

النتيجة = س / ص

طباعة ("نتيجة القسمة:" ، النتيجة)

نتيجة الإرجاع

باستثناء التأخر الصفريخطأ:

طباعة ("القسمة على صفر مستحيلة")

رفع

حاول:

تقسيم (10 ، 0)

باستثناء التأخر الصفريخطأ:

طباعة ("تم إيقاف وظيفة الانقسام من التعليمات البرمجية الخارجية")

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

تمنحك معالجة الاستثناءات في التعليمات البرمجية الخارجية مزيدا من المرونة والتحكم في تنفيذ الوظيفة.

سؤال وجواب

كيف يمكنني إيقاف وظيفة في بيثون?

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

كيف يمكنني استخدام الكلمة العودة لوقف وظيفة?

يستخدم بيثون الكلمة العودة لوقف وظيفة. عندما تصل الدالة إلى بيان الإرجاع ، فإنها تنتهي على الفور وتعيد القيمة المحددة (إن وجدت). على سبيل المثال ، في وظيفة الجمع بين رقمين ، يمكنك استخدام العودة لإرجاع مجموع رقمين. بعد تنفيذ بيان الإرجاع ، يتم نقل التحكم إلى برنامج أو وظيفة الاتصال.

في الحالات التي ينبغي أن تستخدم المشغل رفع لوقف وظيفة?

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

ما هي الطرق الأخرى لوقف وظيفة في بيثون?

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

كيف يمكنني إيقاف وظيفة متكررة في بيثون?

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

هل من الممكن لوقف وظيفة في بيثون دون استخدام العودة أو رفع?

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