0Pricing
Python Academy · درس

Tuples وعدم قابلية التغيير

افهم tuples وعدم قابليتها للتغيير، ومتى يُفضّل استخدامها بدلاً من القوائم

Tuples وعدم قابلية التغيير درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

Tuples هي تسلسلات مرتبة وغير قابلة للتغيير. وبعد إنشائها، لا يمكن تغيير عناصرها.

إنشاء Tuples

t = (1, 2, 3) أو t = 1, 2, 3 (الأقواس اختيارية). يحتاج tuple ذو عنصر واحد إلى فاصلة في النهاية: t = (1,).
t = (1, 2, 3)
singleton = (42,)
print(t, singleton)

عدم قابلية Tuple للتغيير

يؤدي t[0] = 99 إلى رفع TypeError. لا يمكن تعديل Tuples بعد إنشائها. وهذه هي السمة الأساسية لها.
t = (1, 2, 3)
# t[0] = 99  # TypeError
print(t[0])

فهرسة Tuple وتقسيمها

تعمل t[0], t[-1], t[1:3] بالطريقة نفسها كما في القوائم. تدعم Tuples جميع عمليات القراءة.
t = (10, 20, 30)
print(t[1])
print(t[:2])

تجميع Tuple وتفكيكه

يفكك a, b = (1, 2) الـ tuple. ويعمل هذا أيضًا: a, b = b, a لتبديل المتغيرات من دون استخدام متغير مؤقت.
a, b = 1, 2
a, b = b, a
print(a, b)

استخدام Tuples كمفاتيح للقواميس

بما أن Tuples قابلة للتجزئة، يمكن استخدامها مفاتيح للقواميس: coords = {(0,0): 'origin'}. لا يمكن استخدام القوائم مفاتيح للقواميس.
coords = {(0, 0): 'origin', (1, 0): 'right'}
print(coords[(0, 0)])

Tuple أم قائمة — متى نستخدم كلًّا منهما

استخدموا Tuples للبيانات غير المتجانسة ذات البنية الثابتة، مثل (name, age). واستخدموا القوائم للبيانات المتجانسة ذات الطول المتغير.
point = (3.0, 4.0)  # tuple: fixed structure
scores = [85, 90, 78]  # list: variable

Tuples مُسمّاة

from collections import namedtuple; Point = namedtuple('Point', ['x','y']); p = Point(3,4); يعيد p.x القيمة 3.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(3, 4)
print(p.x, p.y)

أساليب Tuple

لا تحتوي Tuples إلا على count() و index(). تحسب t.count(2) عدد مرات التكرار. وتعيد t.index(2) الموضع الأول.
t = (1, 2, 2, 3)
print(t.count(2))
print(t.index(2))

أداء Tuples

تكون Tuples أسرع قليلًا وتستخدم ذاكرة أقل من القوائم، لأن Python تستطيع تحسين الكائنات غير القابلة للتغيير.
import sys
print(sys.getsizeof((1,2,3)))
print(sys.getsizeof([1,2,3]))

التحويل بين القائمة وTuple

تحوّل list(t) الـ tuple إلى قائمة. وتحول tuple(lst) القائمة إلى tuple. يفيد ذلك عند الحاجة إلى قابلية التغيير مؤقتًا.
t = (1, 2, 3)
lst = list(t)
lst.append(4)
t2 = tuple(lst)
print(t2)

تحقق سريع

لماذا يمكن استخدام Tuples مفاتيح للقواميس، بينما لا يمكن استخدام القوائم كذلك؟

مراجعة

تتميز Tuples بأنها غير قابلة للتغيير ومرتبة وقابلة للتجزئة. استخدموها للبيانات ذات البنية الثابتة، ومفاتيح القواميس، والقيم المعادة المتعددة. ويضيف namedtuple إمكانية الوصول باستخدام السمات.

تابعوا التقدم

عمل رائع! انتقلوا إلى الدرس التالي لمواصلة تطوير مهاراتكم.

الأسئلة الشائعة

هل درس «Tuples وعدم قابلية التغيير» مجاني؟

نعم — نص درس «Tuples وعدم قابلية التغيير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «Tuples وعدم قابلية التغيير»؟

افهم tuples وعدم قابليتها للتغيير، ومتى يُفضّل استخدامها بدلاً من القوائم تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «Tuples وعدم قابلية التغيير»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء القوائم والوصول إليها
  2. تعديل القوائم
  3. Tuples وعدم قابلية التغيير
  4. القوائم المتداخلة والتكرار
← العودة إلى Python Academy