اذهب إلى المحتوى

السؤال

نشر

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

ما الفرق بينهما ومتى يجب أن أستخدم أحدهما وليس الآخر؟

Recommended Posts

  • 1
نشر

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

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

اقتباس
اقتباس

exit() | Python

 

 لن يتم تنفيذ الكود الذي يتبع بعد الأمر exit ().

ملاحظات : 

  • يمكنك التفكير في exit () كاسم مستعار لـ quit () (أو العكس) في Python. هم ببساطة يتعايشون لجعل بايثون أكثر سهولة في الاستخدام. ومع ذلك ، فإنه ليس من الممارسات الجيدة استخدام quit () و exit () في كود الإنتاج ويجب حجزها فقط للاستخدام في المترجم الفوري.
  • يُنشئ الأمر exit () الرسالة التالية عند طباعته:  "Use exit() or Ctrl-D (i.e. EOF) to exit"

مثال 

for no in range(15, 30):
    if no > 25:
        print("\n", exit)  #طباعة رسالة الخروج
        # عندما تصبح قيمة  10 ، يضطر البرنامج للخروج
        exit()
    print(no, end=" ")

النتيجة

15 16 17 18 19 20 21 22 23 24 25 
 Use exit() or Ctrl-Z plus Return to exit

 

اقتباس

 sys.exit() | Python

يمكنك استدعاء sys.exit () للخروج من كود Python بحالة الخروج مثل arg. يمكن أن تكون arg أي شيء مثل عدد صحيح أو كائن آخر - يتم تعيين arg الافتراضية على الصفر ، مما يشير إلى إنهاء ناجح. يمكنك تعيين الوسيطة إلى قيمة غير صفرية للإشارة إلى إنهاء غير طبيعي للكود.

ملاحظات : 

  • عندما نستخدم الأمر () sys.exit ، فإنه يرفع استثناء SystemExit . على طول هذه الخطوط ، يمكنك الإمساك به =لإغلاق المخارج المبكرة والقيام بأنشطة التنظيف عندم الحاجة
  • يمكن اعتبار sys.exit مجرد اختصار لزيادة SystemExit (s)
import sys
try:
    sys.exit()
    print("لن يتم تنفيذ هذا السطر!")
except SystemExit:
    print("أنهى SystemExit Exception البرنامج!")
finally:
    print("أداء أنشطة التنظيف!")

output

SystemExit Exception terminated the program!
Perform Cleanup Activities!

 

TheUltimatePythonCheatSheet.png

  • 0
نشر

لا فرق جوهري بين الطريقتين، و لكن exit تم انشاءها ليتم استعمالها من أجل interactive shell أي مثلاً عندما تستعمل البايثون من سطر الأوامر، بينما sys.exit نستعملها عند كتابة برنامج كامل.

كما هو مذكور في التوثيقات الرسمية للبايثون فلا ينصح باستعمال exit عند كتابة البرامج العادية.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...