بررسی انواع exit در پایتون

امیرحسین بیگدلو 12 ماه قبل

در این مقاله با انواع دستورات exit پایتون و تفاوت آنها آشنا میشویم. از این دستورات برای متوقف کردن برنامه های پایتونی استفاده میشود.

 

دوره پیشنهادی: دوره آموزش رایگان پایتون

 

 #  دستور quit و exit پایتون

پایتون دارای دو تابع داخلی به نام های exit و quit است. از هر دو این دستورات میتوانید برای متوقف کردن جریان برنامه استفاده کنید و تفاوت خاصی بین این دو وجود ندارد و فقط برای کاربرپسند بودن در پایتون قرار داده شده اند. به محض اینکه مفسر پایتون به تابع quit یا exit برسد اجرای برنامه را متوقف میکند.

 

به مثال زیر دقت کنید:

for x in range(1,10):
    print(x*10)
    quit()

 

بعد از دور اول حلقه for مفسر پایتون به دستور quit رسیده و اجرا برنامه را متوقف میکند و اجازه اجرای بقیه حلقه for را نمیدهد. اگر کد بالا را اجرا کنید نتیجه زیر را میگیرید:

10

 

دقت کنید که هیچ یک از دستورات exit و quit مناسب استفاده در حالت production نبوده و استفاده از آنها پیشنهاد نمیشود. بهترین روش برای خروج برنامه استفاده از sys.exit است که در بخش بعد توضیح داده ایم.

 

مقاله پیشنهادی: درک ذن پایتون (zen of python)

 

 #  دستور sys.exit پایتون

ماژول sys پایتون دارای یک دستور exit است که برای متوقف کردن برنامه های پایتون استفاده میشود. تابع sys.exit را می توان در هر نقطه از زمان بدون نگرانی در مورد خرابی کد استفاده کرد. مستندات پایتون پیشنهاد میکند که از این دستور برای متوقف کردن برنامه هایتان استفاده کنید. این تابع یک آرگومان گرفته که در زمان متوقف شدن برنامه به کاربر نشان داده میشود:

import sys 

x = 50

if x != 100: 
	sys.exit("Values do not match")	 
else: 
	print("Validation of values completed!!") 

# OUTPUT
Values do not match

 

همچین میتوانید به عنوان آرگومان یک عدد نیز به sys.exit ارسال کنید که به صورت پیشفرض 0 است. اگر آرگومان ارسالی عدد 0 باشد به معنی خروج موفقیت آمیز است و اگر عدد دیگری مانند 1 را ارسال کنید به معنی خروج ناموفق است. میتوانید عدد بین 0 و 127 ارسال کنید.

 

تمام دستوراتی که در بالا دیدید یک کار را انجام میدهند و آن ایجاد کردن خطای SystemExit است. اگر خواستید میتوانید به جای روش های بالا خودتان یک خطای SystemExit نمایش دهید:

raise SystemExit(1) # unsuccessful exit

# OR

raise SystemExit('Sorry...') # exit with a message

 

مطالب مشابه



مونگارد