ویدیو رفع خطای Indentation Error در پایتون


خطای IndentationError یکی از رایجترین خطاهای زبان برنامهنویسی پایتون است که به دلیل رعایت نکردن فاصلهها و تورفتگیها (indentation) در کد اتفاق میافتد. پایتون برخلاف زبانهای دیگر که بلوکهای کد را با آکولاد مشخص میکنند، از فاصله و تب استفاده میکند.
علت اصلی ایجاد IndentationError چیست؟
این خطا زمانی رخ میدهد که فاصلهها یا تورفتگیها به شکل نادرست یا ناهمگون در کد قرار گرفته باشند؛ مثلاً وقتی اول خط به اشتباه اسپیس یا تب اضافه شود یا وقتی بلوکهای کد مانند بدنه if، for یا تابع خالی باشد و چیزی داخل آن نوشته نشده باشد.
نکات مهم برای جلوگیری از خطای IndentationError
هیچوقت نباید در ابتدای خط به شکل غیر ضروری فاصله یا تب اضافه کنید.
بدنه دستورات شرطی (if)، حلقهها و توابع باید با تورفتگی مناسب نوشته شوند.
اگر بدنه یک دستور خالی است، حتماً باید از دستور pass استفاده کنید.
فاصلهها باید یکسان باشند؛ یا فقط اسپیس (معمولاً 4 اسپیس) یا فقط تب، ترکیب این دو باعث ارور میشود.
تفاوت تب و اسپیس در پایتون و بهترین روش استفاده
تب و اسپیس هر دو برای ایجاد تورفتگی استفاده میشوند اما مخلوط کردن آنها باعث ایجاد خطا میشود.
استاندارد پایتون پیشنهاد میکند برای تورفتگی از 4 اسپیس استفاده شود.
بیشتر ویرایشگرها مانند VS Code به طور خودکار این تنظیمات را مدیریت میکنند.
چطور خطای IndentationError را در کدهای پیچیده پیدا و رفع کنیم؟
1. اغلب IDEها و ویرایشگرها مثل VS Code خطا را به صورت زیر کد یا هشدار نشان میدهند.
2. دقت کنید که در بدنه if، for، while، یا تعریف توابع حتما تورفتگی رعایت شده باشد.
3. از pass برای بدنه خالی استفاده کنید تا خطا نگیرید.
نکات جانبی درباره فاصله و تورفتگی در پایتون
فضای اضافی انتهای خط کد معمولاً مشکلساز نیست ولی بهتر است پاک شود.
در رشتههای چند خطی میتوانید از تورفتگی استفاده کنید چون جزو محتوای رشته محسوب میشود.
کامنتها و خطوط خالی در برنامه مشکلی ایجاد نمیکنند.