عند تعلّم Python ستواجه أخطاءً متكرّرة. فهم معناها يوفّر عليك ساعات. إليك أشهرها وحلّها.
كيف تقرأ الخطأ؟
بايثون تعرض traceback؛ اقرأ السطر الأخير أولًا فهو نوع الخطأ ووصفه، ثم ارجع لرقم السطر.
1) IndentationError — مسافات بادئة خاطئة
def greet():
print("مرحبًا") # ❌ IndentationError
الحلّ: أزِح السطر بـ 4 مسافات. لا تخلط Tab مع Space.
def greet():
print("مرحبًا") # ✅
2) NameError — اسم غير معرّف
print(mesage) # ❌ NameError: name 'mesage' is not defined
الحلّ: خطأ إملائي أو متغيّر لم يُعرَّف. تأكّد من الاسم والتعريف قبل الاستخدام.
3) TypeError — نوع غير مناسب
age = 20
print("عمري " + age) # ❌ TypeError: can only concatenate str
الحلّ: حوّل النوع:
print("عمري " + str(age)) # ✅
4) IndexError — خارج حدود القائمة
arr = [1, 2, 3]
print(arr[5]) # ❌ IndexError: list index out of range
الحلّ: الفهرس يبدأ من 0 وينتهي عند len(arr) - 1. تحقّق من الطول.
جدول الأخطاء السريع
| الخطأ | المعنى | الحلّ |
|---|---|---|
IndentationError | مسافات خاطئة | 4 مسافات ثابتة |
NameError | اسم غير معرّف | راجع الإملاء/التعريف |
TypeError | نوع غير مناسب | حوّل بـ str() / int() |
IndexError | فهرس خارج الحدود | تحقّق من len() |
KeyError | مفتاح غير موجود | استخدم .get() |
الخلاصة
الأخطاء جزء طبيعي من التعلّم. اقرأ السطر الأخير، افهم نوع الخطأ، وستحلّ معظم المشاكل بسرعة.