خاصية Tuples في لغة Python هي نوع من أنواع البيانات المُستخدمة لتخزين سلسلة مُرتّبة من العناصر. تُشبه القوائم (Lists) إلى حد كبير، ولكنّها تتميّز عنها بكونها "غير قابلة للتغيير" (Immutable)، أي لا يُمكن تعديل قيمها بعد إنشائها.
إليك شرح مُفصّل لخاصية Tuples في Python:
التعريف والإنشاء:
- يتم إنشاء Tuple بوضع العناصر داخل أقواس دائرية
()
، مع الفصل بينها بفواصل,
. - يُمكن أن تحتوي الـ Tuple على أنواع بيانات مُختلفة، مثل الأرقام والنصوص والقوائم وحتى Tuples أخرى.
مثال:
Python
my_tuple = (1, "hello", 3.14, [1, 2, 3])print(my_tuple) # Output: (1, 'hello', 3.14, [1, 2, 3])
empty_tuple = () # Tuple فارغةprint(empty_tuple) # Output: ()
single_element_tuple = (5,) # Tuple تحتوي على عنصر واحد. يجب وضع فاصلة بعد العنصرprint(single_element_tuple) # Output: (5,)
خصائص Tuples:
- مُرتبة (Ordered): تحتفظ العناصر بترتيب إدخالها.
- غير قابلة للتغيير (Immutable): لا يُمكن تعديل قيم عناصرها بعد الإنشاء. هذا يعني أنه لا يُمكن إضافة أو حذف أو تغيير عناصر Tuple.
- تسمح بالتكرار (Allows Duplicates): يُمكن أن تحتوي على عناصر مُتكررة.
- تُستخدم لتجميع البيانات (Used for Grouping Data): تُستخدم لتجميع البيانات ذات الصلة معًا.
الوصول إلى عناصر Tuple:
يتم الوصول إلى عناصر Tuple باستخدام الفهرس (Index)، حيث يبدأ الفهرس من 0 للعنصر الأول.
مثال:
Python
my_tuple = (10, 20, 30, 40)print(my_tuple[0]) # Output: 10print(my_tuple[2]) # Output: 30
# استخدام الفهرس السالب للوصول للعناصر من النهايةprint(my_tuple[-1]) # Output: 40 (آخر عنصر)print(my_tuple[-2]) # Output: 30 (العنصر قبل الأخير)
بعض العمليات على Tuples:
- الدمج (Concatenation): يُمكن دمج Tuple مع أخرى باستخدام العامل
+
.
Python
tuple1 = (1, 2, 3)tuple2 = (4, 5, 6)tuple3 = tuple1 + tuple2print(tuple3) # Output: (1, 2, 3, 4, 5, 6)
- التكرار (Repetition): يُمكن تكرار عناصر Tuple باستخدام العامل
*
.
Python
my_tuple = ("A", "B")repeated_tuple = my_tuple * 3print(repeated_tuple) # Output: ('A', 'B', 'A', 'B', 'A', 'B')
- التقطيع (Slicing): يُمكن استخراج جزء من Tuple باستخدام التقطيع.
Python
my_tuple = (10, 20, 30, 40, 50)print(my_tuple[1:4]) # Output: (20, 30, 40)print(my_tuple[:3]) # Output: (10, 20, 30)print(my_tuple[2:]) # Output: (30, 40, 50)
دوال مُفيدة للتعامل مع Tuples:
len(tuple)
: تُرجع عدد عناصر Tuple.max(tuple)
: تُرجع أكبر قيمة في Tuple.min(tuple)
: تُرجع أصغر قيمة في Tuple.tuple(iterable)
: تُحوّل أي كائن قابل للتكرار (مثل قائمة أو نص) إلى Tuple.
متى نستخدم Tuples؟
- عندما نرغب في تخزين بيانات لا ينبغي تغييرها.
- لتحسين أداء البرنامج، حيث أن التعامل مع Tuples أسرع من القوائم.
- عند استخدامها كمفاتيح في القواميس (Dictionaries)، حيث أن القوائم غير قابلة للاستخدام كمفاتيح.