آموزش رایگان صفر تا صد پایتون (Python) به زبان ساده
-
معرفی پایتون
-
شروع کار با پایتون
-
دستور زبان پایتون (Python Syntax)
-
توضیح کامنتها در پایتون
-
متغیرها در پایتون
-
نامهای متغیر در پایتون
-
معرفی متغیرها در پایتون و اختصاص چندین مقدار به آنها
-
معرفی متغیرها در خروجی با استفاده از پایتون
-
متغیرهای سراسری (Global Variables) در پایتون
-
انواع دادهها در پایتون
-
انواع اعداد در پایتون
-
تبدیل نوع داده در پایتون (Python Casting)
-
رشتهها در پایتون (Python Strings)
-
برش دادن رشتهها در پایتون (Python - Slicing Strings)
-
تغییر رشتهها در پایتون
-
ترکیب رشتهها در پایتون (String Concatenation)
-
آشنایی با فرمتبندی رشتهها در پایتون
-
کاراکترهای Escape در پایتون
-
مقدمهای بر بولیها (Booleans) در پایتون
-
عملگرها در پایتون
-
لیستها در پایتون
-
دسترسی به آیتمهای لیست در پایتون
-
تغییر مقدار آیتمهای لیست در پایتون
-
افزودن آیتم به لیست در پایتون
-
حذف آیتمها از لیست در پایتون
-
حلقه زدن در لیستها در پایتون
-
معرفی List Comprehension در پایتون
-
مرتبسازی لیستها در پایتون
-
کپی کردن لیستها در پایتون
-
اتصال (Join) لیستها در پایتون
-
آشنایی با Tuple در پایتون
-
دسترسی به آیتمهای یک Tuple در پایتون
-
بروزرسانی Tuple در پایتون
-
باز کردن (Unpacking) Tuple در پایتون
-
حلقهها در Tupleها در پایتون
-
آموزش ترکیب و تکرار تاپلها در پایتون (Join Tuples)
-
مجموعهها (Set) در پایتون
-
دسترسی به آیتمهای مجموعه (Set) در پایتون
-
افزودن آیتم به Set در پایتون
-
حذف آیتمها از Set در Python
-
حلقه در مجموعهها (Set) در پایتون
-
روشهای ترکیب مجموعهها در پایتون (Join Sets)
-
دیکشنریها در پایتون
-
دسترسی به آیتمهای دیکشنری در پایتون
-
تغییر مقادیر دیکشنری در پایتون
-
اضافه کردن آیتمها به دیکشنری در پایتون
-
حذف آیتمها از دیکشنری در پایتون
-
استفاده از حلقهها در دیکشنریها در پایتون
-
کپی کردن دیکشنری در پایتون
-
دیکشنریهای تو در تو در پایتون (Nested Dictionaries)
-
شرطها و دستور If در پایتون
-
حلقههای while در پایتون
-
حلقههای for در پایتون
-
توابع در پایتون
-
معرفی فانکشنهای لامبدا در پایتون
-
آرایهها (Arrays) در پایتون
-
کلاسها و اشیا در پایتون
-
وراثت (Inheritance) در پایتون
-
ایتریتور (یکی یکی پیش رفتن) در پایتون
-
چندریختی (Polymorphism) در پایتون
-
محدوده (Scope) در پایتون
-
ماژول در پایتون چیست؟
-
کار با تاریخ در پایتون
-
ریاضیات در پایتون
-
JSON در پایتون به زبان ساده
-
عبارات منظم (RegEx) در پایتون
-
Python PIP
-
معرفی Try-Except در پایتون
-
ورودی کاربر در پایتون
-
فرمتبندی رشتهها در پایتون
معرفی Try-Except در پایتون
در پایتون، زمانی که کد شما خطا میدهد، از try-except برای مدیریت این خطاها استفاده میکنیم. این بخشها به شما کمک میکند تا کد خود را امنتر و قابلاعتمادتر کنید. بیایید با هم بررسی کنیم که هر بخش چطور کار میکند.
1. بلاک try
بلاک try برای تست کردن کد استفاده میشود تا ببینیم آیا خطایی در آن بخش از کد رخ میدهد یا نه. اگر خطا رخ دهد، پایتون کد داخل بلاک except را اجرا میکند.
مثال:
try:
print(x)
except:
print("An exception occurred")
در این مثال، چون متغیر x
تعریف نشده، خطا ایجاد میشود و پیام “An exception occurred” چاپ میشود.
2. بلاک except
بلاک except زمانی اجرا میشود که خطایی در بلاک try رخ دهد. این بخش مخصوص مدیریت خطاهاست.
مثال:
try:
print(x)
except:
print("Something went wrong")
در اینجا، اگر خطا در try رخ دهد، پیام “Something went wrong” نمایش داده میشود.
3. بلاک else
اگر در بلاک try هیچ خطایی وجود نداشته باشد، بلاک else اجرا میشود. این بخش برای زمانی است که همه چیز درست پیش برود و هیچ خطایی نباشد.
مثال:
try:
print("Hello")
except:
print("Something went wrong")
else:
print("Nothing went wrong")
در این مثال، چون خطایی وجود ندارد، پیام “Nothing went wrong” چاپ میشود.
4. بلاک finally
بلاک finally همیشه اجرا میشود، چه در بلاک try خطا وجود داشته باشد یا نه. این بلاک معمولاً برای تمیزکاری و بستن منابع (مثل فایلها) استفاده میشود.
مثال:
try:
print(x)
except:
print("Something went wrong")
finally:
print("The 'try except' is finished")
در اینجا، چه خطا رخ دهد یا نه، پیام “The ‘try except’ is finished” نمایش داده میشود.
مثال عملی دیگر:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the file")
در اینجا، اگر در هر مرحله خطایی پیش بیاید، فایل به درستی بسته میشود.
5. ایجاد استثنا (Raise an exception)
گاهی اوقات شما میخواهید بهطور دستی خطا ایجاد کنید. برای این کار از دستور raise استفاده میکنیم.
مثال:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below zero")
در اینجا، اگر مقدار x
منفی باشد، یک استثنا با پیام “Sorry, no numbers below zero” ایجاد میشود.
مثال دیگر:
x = "hello"
if not type(x) is int:
raise TypeError("Only integers are allowed")
در اینجا، اگر نوع متغیر x
عدد صحیح نباشد، یک خطای TypeError ایجاد میشود.
چالش برای شما
- یک بلاک try-except بنویسید که وقتی عدد وارد شده توسط کاربر منفی باشد، پیام خطا نمایش دهد.
- از بلاک else استفاده کنید که در صورت صحیح بودن ورودی، پیامی نمایش داده شود که وارد کردن عدد مثبت انجام شده است.
نکات کاربردی
- از بلاک finally برای بستن فایلها و منابع استفاده کنید تا همیشه منابع آزاد شوند.
- از بلاک except برای مدیریت انواع مختلف خطاها میتوانید استفاده کنید.
- با استفاده از raise، شما میتوانید خطاها را خودتان مدیریت کنید و کد خود را انعطافپذیرتر کنید.