نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
PY

منهج Python

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Python/المجموعات غير القابلة للتعديل (Tuples)

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

tuples pythontuple pythonimmutable pythonpython tuple vs list

الشرح

## Tuples في Python

الـ Tuple هي مثل القائمة لكنها **غير قابلة للتعديل (Immutable)** بعد إنشائها.

### إنشاء Tuple: ```python empty = () single = (1,) # الفاصلة ضرورية للعنصر الواحد! point = (10, 20) mixed = (1, "نص", 3.14) ```

### الفرق بين List و Tuple: | | List | Tuple | |---|---|---| | الرمز | `[]` | `()` | | القابلية للتعديل | ✅ قابلة | ❌ غير قابلة | | السرعة | أبطأ | أسرع | | الاستخدام | بيانات تتغير | بيانات ثابتة |

### متى تستخدم Tuple؟ - إحداثيات نقطة (x, y) - أيام الأسبوع (لا تتغير) - مفاتيح القواميس - إرجاع قيم متعددة من دالة

الصياغة (Syntax)

syntax
1# إنشاء Tuple
2point = (3, 7)
3colors = ("أحمر", "أخضر", "أزرق")
4
5# الوصول (مثل القائمة)
6print(point[0]) # 3
7print(colors[-1]) # أزرق
8
9# التقطيع
10print(colors[0:2]) # ('أحمر', 'أخضر')
11
12# Unpacking
13x, y = point
14print(f"x={x}, y={y}")

أمثلة عملية

مثال 1: Tuple Unpacking

Tuple Unpacking
1# فك التعبئة
2person = ("أحمد", 28, "مهندس")
3name, age, job = person
4print(f"الاسم: {name}, العمر: {age}, الوظيفة: {job}")
5
6# في دالة تُرجع قيماً متعددة
7def get_min_max(numbers):
8 return min(numbers), max(numbers)
9
10minimum, maximum = get_min_max([5, 2, 8, 1, 9])
11print(f"الأصغر: {minimum}, الأكبر: {maximum}")

مثال 2: Tuple مقابل List

Tuple مقابل List
1# List - قابلة للتعديل
2lst = [1, 2, 3]
3lst[0] = 99 # ✅ يعمل
4lst.append(4) # ✅ يعمل
5
6# Tuple - غير قابلة للتعديل
7tpl = (1, 2, 3)
8# tpl[0] = 99 # ❌ خطأ!
9
10# لكن يمكن تحويلها
11lst_from_tpl = list(tpl)
12lst_from_tpl[0] = 99
13new_tpl = tuple(lst_from_tpl)
14print(new_tpl) # (99, 2, 3)

نصائح احترافية

  • —**نصائح Tuples:**
  • —إنشاء عنصر واحد: `(1,)` لا `(1)` - بدون فاصلة ستحصل على int لا tuple
  • —Tuples أسرع من Lists في القراءة والمرور
  • —يمكن استخدامها كـ dictionary keys لأنها قابلة للهاش
  • —`*` في unpacking: `first, *rest = (1, 2, 3, 4)`

الدرس السابق

المصفوفات المرنة بالتفصيل (Python Lists)

الدرس التالي

المجموعات الفريدة (Sets)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر