ما هو الصف (Tuple)؟
الصف يشبه القائمة لكنه غير قابل للتعديل (immutable) — لا يمكن تغيير
عناصره بعد الإنشاء. نكتبه بين قوسين عاديين ( ):
point = (10, 20)
colors = ("أحمر", "أخضر", "أزرق")
print(colors[0]) # أحمر
print(len(colors)) # 3
لماذا نستخدم الصفوف؟
- بيانات ثابتة لا يجب أن تتغيّر (إحداثيات، أيام الأسبوع، إعدادات).
- أسرع من القوائم وتستهلك ذاكرة أقل.
- آمنة — تمنع التعديل غير المقصود.
محاولة التعديل تفشل
colors = ("أحمر", "أخضر")
colors[0] = "أصفر" # خطأ! TypeError
⚠️ هذا الخطأ مقصود — إن احتجت تعديل البيانات فاستخدم قائمة
listبدل الصف.
التفكيك (Unpacking)
ميزة أنيقة لتوزيع عناصر الصف على متغيّرات:
person = ("أحمد", 30, "مهندس")
name, age, job = person
print(name) # أحمد
print(job) # مهندس
صف بعنصر واحد
انتبه للفاصلة، وإلا فلن يكون صفًّا:
x = (5,) # صف بعنصر واحد
y = (5) # مجرّد رقم 5، ليس صفًّا
print(type(x)) # <class 'tuple'>
print(type(y)) # <class 'int'>
أخطاء شائعة
- نسيان الفاصلة في الصف ذي العنصر الواحد
(5,). - محاولة استخدام
appendأوremove— غير متاحة للصفوف.
🎯 التالي: المجموعات (Sets) — قيم فريدة بلا تكرار.