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

5 دقیقه
naei.ir/blog/video/irk8553

خطای IndentationError یکی از رایج‌ترین خطاهای زبان برنامه‌نویسی پایتون است که به دلیل رعایت نکردن فاصله‌ها و تورفتگی‌ها (indentation) در کد اتفاق می‌افتد. پایتون برخلاف زبان‌های دیگر که بلوک‌های کد را با آکولاد مشخص می‌کنند، از فاصله و تب استفاده می‌کند.

علت اصلی ایجاد IndentationError چیست؟

این خطا زمانی رخ می‌دهد که فاصله‌ها یا تورفتگی‌ها به شکل نادرست یا ناهمگون در کد قرار گرفته باشند؛ مثلاً وقتی اول خط به اشتباه اسپیس یا تب اضافه شود یا وقتی بلوک‌های کد مانند بدنه if، for یا تابع خالی باشد و چیزی داخل آن نوشته نشده باشد.

نکات مهم برای جلوگیری از خطای IndentationError

هیچ‌وقت نباید در ابتدای خط به شکل غیر ضروری فاصله یا تب اضافه کنید.

بدنه دستورات شرطی (if)، حلقه‌ها و توابع باید با تورفتگی مناسب نوشته شوند.

اگر بدنه یک دستور خالی است، حتماً باید از دستور pass استفاده کنید.

فاصله‌ها باید یکسان باشند؛ یا فقط اسپیس (معمولاً 4 اسپیس) یا فقط تب، ترکیب این دو باعث ارور می‌شود.

تفاوت تب و اسپیس در پایتون و بهترین روش استفاده

تب و اسپیس هر دو برای ایجاد تورفتگی استفاده می‌شوند اما مخلوط کردن آنها باعث ایجاد خطا می‌شود.

استاندارد پایتون پیشنهاد می‌کند برای تورفتگی از 4 اسپیس استفاده شود.

بیشتر ویرایشگرها مانند VS Code به طور خودکار این تنظیمات را مدیریت می‌کنند.

چطور خطای IndentationError را در کدهای پیچیده پیدا و رفع کنیم؟

1. اغلب IDEها و ویرایشگرها مثل VS Code خطا را به صورت زیر کد یا هشدار نشان می‌دهند.

2. دقت کنید که در بدنه if، for، while، یا تعریف توابع حتما تورفتگی رعایت شده باشد.

3. از pass برای بدنه خالی استفاده کنید تا خطا نگیرید.

نکات جانبی درباره فاصله و تورفتگی در پایتون

فضای اضافی انتهای خط کد معمولاً مشکل‌ساز نیست ولی بهتر است پاک شود.

در رشته‌های چند خطی می‌توانید از تورفتگی استفاده کنید چون جزو محتوای رشته محسوب می‌شود.

کامنت‌ها و خطوط خالی در برنامه مشکلی ایجاد نمی‌کنند.

امیرحسین نائی
برنامه‌نویس، علاقه‌مند به بیزینس
  • موسس آکادمی برنامه‌نویسی نائی
  • بنیان‌گذار کدبزن، روتین آپ، EveryAPI، دستیار بیزینس و...
  • نویسنده‌ی کتاب پرفروش «برنامه‌نویسی رو از اینجا شروع کن!»
  • بیش از 10 سال تجربه در برنامه‌نویسی و راه‌اندازی کسب‌وکار
  • تولیدکننده‌ی ۱۰۰+ ساعت ویدیوی آموزشی رایگان

سایر مطالب

فرانت اند، بک اند و فول استک یعنی چی؟
مقاله ویدیویی

فرانت اند، بک اند و فول استک یعنی چی؟

حتما موقع شروع برنامه نویسی وب کلمات فرانت اند، بک اند و فول استک به گوشت خورده. توی این مطلب میخواییم درباره این سه مورد صحبت کنیم و تفاوت های آنها رو بررسی کنیم. هر وبسایتی از دو بخش فرانت اند و بک اند تشکیل شده هر کدام از این دو مربوط به بخش های مختلفی هستند و برنامه نویسی خاص خود را دارند: برنامه نویسی فرانت یعنی چی؟ هرچیزی که در ظاهر یک سایت میبینی مربوط به بخش فرانت انده؛ تصاویر، منوها، عنوان ها و متن ها و... مربوط به بخش فرانت اند است و توسط برنامه نویس فرانت اند کدنویسی شده. برای مثال...

ادامه مطلب
برای یادگیری برنامه نویسی باید زبان انگلیسیم خوب باشه؟
مقاله ویدیویی

برای یادگیری برنامه نویسی باید زبان انگلیسیم خوب باشه؟

اگه بخوای برنامه نویسی رو شروع کنی حتما یکی از سوالاتت اینه که باید زبان انگلیسیم خوب باشه، تا برنامه نویس خوبی شم؟ توی این پست کامل درباره اینکه زبان انگلیسی در برنامه نویسی چه تاثیری داره و دقیقا کجا بدرد میخوره صحبت میکنم زبان انگلیسی در برنامه نویسی حتما توی اینترنت و ویدیو های آموزشی دیدی که برنامه نویسا به زبان انگلیسی کد میزنن. اما میخوام بهت بگم که با وجود اینکه کد نویسی با زبان انگلیسی انجام میشه ولی برای یادگیری برنامه نویسی اگر از یک آموزش مناسب استفاده کنی، فقط کافیه که حروف الفبا...

ادامه مطلب