هر برنامهنویس پایتون، چه مبتدی چه حرفهای، هر روز با پیامهای خطا روبهرو میشود. در این صفحه رایجترین خطاهای پایتون را جمع کردهایم؛ برای هر خطا معنی پیام، علتهای رایج، کد غلط و درست (با خروجی واقعی) و راهحل قدمبهقدم را میخوانید.
اگر تازه شروع کردهاید، آموزش جامع پایتون و درس مدیریت خطا با try/except را هم ببینید. برای نمونهکدهای آماده هم سری به کتابخانه کدهای آماده پایتون بزنید.
فهرست خطاهای رایج پایتون
IndentationErrorخطای IndentationError در پایتون؛ معنی، علت و رفع expected an indented blockخطای IndentationError در پایتون یعنی تورفتگی کد درست نیست. علتهای رایج، کد غلط و درست و راهحل قدمبهقدم رفع expected an indented block و unexpected indent.مشاهده راهحل ←SyntaxErrorخطای SyntaxError: invalid syntax در پایتون؛ علتها و رفع سریعخطای SyntaxError invalid syntax در پایتون یعنی کد از قواعد نوشتاری پایتون پیروی نمیکند. رایجترین علتها مثل دونقطه، کوتیشن و = به جای == را با کد غلط و درست ببینید.مشاهده راهحل ←NameErrorخطای NameError در پایتون؛ name is not defined یعنی چه و چطور رفع میشود؟خطای NameError name is not defined در پایتون وقتی رخ میدهد که از متغیر یا تابعی استفاده کنید که تعریف نشده است. علتها، مثال کد غلط و درست و راهحل قدمبهقدم.مشاهده راهحل ←TypeErrorخطای TypeError در پایتون؛ can only concatenate str و unsupported operandخطای TypeError در پایتون یعنی عملیاتی را روی نوع داده نامناسب انجام دادهاید؛ مثل جمع رشته و عدد. پیامهای رایج، کد غلط و درست و روش رفع قدمبهقدم.مشاهده راهحل ←ValueErrorخطای ValueError در پایتون؛ invalid literal for int() with base 10خطای ValueError در پایتون یعنی نوع داده درست است ولی مقدار آن نامعتبر است؛ مثل int("abc"). علتها، کد غلط و درست، مدیریت ورودی کاربر با try/except و راهحل.مشاهده راهحل ←KeyErrorخطای KeyError در پایتون؛ وقتی کلید در دیکشنری وجود نداردخطای KeyError در پایتون یعنی کلیدی را از دیکشنری خواستهاید که وجود ندارد. علتها، کد غلط و درست، استفاده از get، in و setdefault و راهحل قدمبهقدم.مشاهده راهحل ←IndexErrorخطای IndexError: list index out of range در پایتون؛ علت و رفعخطای IndexError list index out of range در پایتون یعنی به ایندکسی بیرون از طول لیست دسترسی پیدا کردهاید. علتها، کد غلط و درست، حلقه با range و len و راهحل.مشاهده راهحل ←AttributeErrorخطای AttributeError در پایتون؛ object has no attribute یعنی چه؟خطای AttributeError در پایتون یعنی متد یا ویژگیای را صدا زدهاید که آن شیء ندارد؛ مثل NoneType has no attribute. علتها، کد غلط و درست و رفع قدمبهقدم.مشاهده راهحل ←ModuleNotFoundErrorخطای ModuleNotFoundError: No module named در پایتون؛ رفع کاملخطای ModuleNotFoundError No module named در پایتون یعنی ماژول نصب نیست یا در محیط اشتباه نصب شده است. رفع با pip، venv، بررسی نام ماژول و انتخاب مفسر درست.مشاهده راهحل ←ZeroDivisionErrorخطای ZeroDivisionError در پایتون؛ division by zero و روش جلوگیریخطای ZeroDivisionError division by zero در پایتون هنگام تقسیم یا باقیمانده بر صفر رخ میدهد. علتها، کد غلط و درست، بررسی مقسومعلیه و try/except.مشاهده راهحل ←FileNotFoundErrorخطای FileNotFoundError در پایتون؛ No such file or directory و رفع آنخطای FileNotFoundError No such file or directory در پایتون یعنی مسیر فایل اشتباه است یا فایل وجود ندارد. رفع با مسیر مطلق، pathlib، پوشه کاری و بررسی وجود فایل.مشاهده راهحل ←UnicodeDecodeErrorخطای UnicodeDecodeError در پایتون؛ codec can't decode byte و فایل فارسیخطای UnicodeDecodeError در پایتون هنگام خواندن فایل با encoding اشتباه رخ میدهد؛ بهخصوص فایلهای فارسی. رفع با encoding="utf-8"، cp1256 و errors برای CSV و متن.مشاهده راهحل ←RecursionErrorخطای RecursionError در پایتون؛ maximum recursion depth exceededخطای RecursionError maximum recursion depth exceeded در پایتون یعنی تابع بازگشتی شرط توقف ندارد یا عمق آن زیاد است. علتها، کد غلط و درست و جایگزین با حلقه.مشاهده راهحل ←ImportErrorخطای ImportError: cannot import name در پایتون؛ علت و رفعخطای ImportError cannot import name در پایتون یعنی ماژول پیدا شده ولی نام خواستهشده در آن نیست؛ به دلیل غلط تایپی، نسخه کتابخانه یا import حلقوی. رفع قدمبهقدم.مشاهده راهحل ←TypeErrorخطای 'int' object is not subscriptable در پایتون؛ معنی و رفعخطای TypeError 'int' object is not subscriptable در پایتون یعنی روی عدد یا None از [] استفاده کردهاید. علتها برای int، NoneType و function و کد غلط و درست.مشاهده راهحل ←SyntaxErrorخطای unexpected EOF while parsing در پایتون؛ پرانتز یا کوتیشن بستهنشدهخطای SyntaxError unexpected EOF while parsing (در نسخههای جدید: '(' was never closed) یعنی پرانتز، براکت یا کوتیشن را نبستهاید. علت، کد غلط و درست و رفع.مشاهده راهحل ←TabErrorخطای TabError در پایتون؛ inconsistent use of tabs and spaces in indentationخطای TabError inconsistent use of tabs and spaces in indentation در پایتون یعنی Tab و Space را در تورفتگی ترکیب کردهاید. روش پیدا کردن و تبدیل Tab به Space در ویرایشگر.مشاهده راهحل ←'pip' is not recognized as an internal or external commandخطای pip is not recognized در ویندوز؛ رفع کامل مشکل pip و PATHخطای 'pip' is not recognized as an internal or external command در ویندوز یعنی pip در PATH نیست. رفع با py -m pip، تیک Add to PATH و تنظیم متغیر محیطی.مشاهده راهحل ←