رفع خطای IndentationError و TabError در پایتون

mohsen4 ماه قبل
ارسال شده در
mohsen

در پایتون برای نمایش بلوک کد بر خلاف زبان های بر پایه C از تورفتگی (indentation) با فاصله (space) استفاده می کند. برای همین در ابتدای کار با پایتون ممکن است با خطاهای این چنینی مواجه شوید.

      IndentationError: unexpected indent

IndentationError: unindent does not match any outer indentation level

IndentationError: expected an indented block

IndentationError: unindent does not match any outer indentation level
    

برای رفع تمامی این مشکلات باید خطی که خطا در آن رخ داده را پیدا کنید و با خطوط بالایی آن از لحاظ تورفتگی مطابقت داده و تورفتگی را اصلاح کنید.

برای مثال با اجرای کد زیر:

      if True:
    if False:
        print('foo')
   print('bar')
    

این خطا را مشاهده خواهید کرد:

        File "script.py", line 4
    print('bar')
               ^
IndentationError: unindent does not match any outer indentation level
    

در این کد از تورفتگی با چهار فاصله استفاده شده است. تمامی دستورات بلوک if اول باید با چهار فاصله شروع شوند. اما در خط 4 دستور print یک فاصله کم دارد و با اصلاح آن مشکل اجرای کد رفع می شود.

خطای مرسوم دیگر خطای زیر است:

      TabError: inconsistent use of tabs and spaces in indentation
    

این خطا زمانی رخ می دهد که شما تورفتگی را با ترکیبی از Tab و Space انجام داده باشید. برای رفع این مشکل باید همه تورفتگی ها را به Space یا Tab تغییر دهید. بهتر است بوسیله قابلیت Replace ادیتور همه Tab ها را Space (دو یا چهار یا ...) جایگزین کنید.

رفع هر دو مشکل بالا بوسیله استفاده از یک IDE خوب مانند VS Code و افزونه های مربوط به Python به سادگی و بدون درد سر قابل رفع است.

رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!