بايثونالكلاس tuple
- مفهوم الكلاس tuple
- الوصول لعناصر كائن tuple
- الحصول على عناصر محددة في tuple
- العوامل التي يمكن استخدامها مع tuple
- دوال الكلاس tuple
- دوال جاهزة في بايثون للتعامل مع الـ tuple
- فائدة النوع tuple
مفهوم الكلاس tuple
النوع tuple يمثل مصفوفة لها حجم ثابت، يمكنها تخزين قيم من مختلف الأنواع في وقت واحد و لكن لا يمكن تبديل قيمها.
طريقة تعريف tuple
لتعريف tuple نستخدم الرمز ( ) و بداخله نمرر القيم بشكل مباشر له مع الإشارة إلى أنه يجب وضع فاصلة بين كل قيمتين.
في المثال التالي قمنا بتعريف tuple فارغ، أي لا يحتوي أي عنصر.
المثال الأول
النتيجة
في المثال التالي قمنا بتعريف tuple يتألف من عنصر واحد فقط.
المثال الثاني
النتيجة
في المثال السابق وضع الفاصلة بعد القيمة 10 هنا يعتبر أمر إجباري حتى يفهم مترجم بايثون أننا نريد تعريف tuple و ليس متغير عادي قيمته 10. و بالطبع لا حاجة لوضع فاصلة إضافية كما فعلنا في حال كان الـ tuple يحتوي على أكثر من قيمة.
في المثال التالي قمنا بتعريف tuple وضعنا فيه أعداد صحيحة.
المثال الثالث
النتيجة
في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص.
المثال الرابع
النتيجة
في المثال التالي قمنا بتعريف tuple وضعنا فيه أعداد صحيحة و نصوص.
المثال الخامس
النتيجة
الوصول لعناصر كائن tuple
للوصول لأي عنصر موجود في tuple بهدف الحصول على قيمته طبعاً فإننا نستخدم رقم الفهرس ( Index ) الخاص بالعنصر.
في بايثون، يمكنك الوصول للعناصر الموجودة في tuple بطريقتين:
- في حال أردت الوصول للعناصر من اليسار إلى اليمين، أي من أول عنصر تم إدخاله، فإن رقم فهرس أول عنصر سيكون
0
- في حال أردت الوصول للعناصر من اليمين إلى اليسار، أي من آخر عنصر تم إدخاله، فإن رقم فهرس آخر عنصر سيكون
-1
في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص. بعدها قمنا بعرض قيمة أول و ثاني عنصر فيه.
المثال الأول
النتيجة
Sara
في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص. بعدها قمنا بعرض قيمة آخر و قبل آخر عنصر فيه.
المثال الثاني
النتيجة
Mhamad
في المثال التالي قمنا بتعريف tuple وضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for.
المثال الثالث
النتيجة
Sara
Nada
Mhamad
Salem
في المثال التالي قمنا بتعريف tuple وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة for.
المثال الرابع
النتيجة
الحصول على عناصر محددة في tuple
باستخدام الرمز [ : ] يمكننا إرجاع عناصر محددة من الكائن tuple سواء لعرضها أو تخزينها.
في المثال التالي قمنا بتعريف tuple وضعنا فيه أرقام. بعدها قمنا بعرض جزء منه.
فعلياً قمنا بعرض العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك رقم الفهرس 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك رقم الفهرس 3.
أي قمنا بعرض قيم العناصر arr[0] - arr[1] - arr[2].
المثال الأول
النتيجة
في المثال التالي قمنا بتعريف tuple وضعنا فيه أرقام. بعدها قمنا بنسخ جزء منه و وضعه في tuple ثانية.
فعلياً قمنا بنسخ العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك رقم فهرس 0 وصولاً إلى العنصر الموجود قبل العنصر الذي رقم فهرس 3.
أي قمنا بنسخ قيم العناصر arr[0] - arr[1] - arr[2].
المثال الثاني
النتيجة
العوامل التي يمكن استخدامها مع tuple
العامل | دواعي الإستخدام |
---|---|
+ | العامل + يستخدم لدمج tuple أو أكثر في tuple واحد. |
* | العامل * يستخدم لوضع قيمة معينة و تكرارها عدة مرات في الـ tuple. |
in | العامل in يستخدم للبحث عن قيمة محددة في الـ tuple أو للمرور على قيمه في حال استخدامه في الحلقة for. |
في المثال التالي قمنا بتخزين إثنين tuple في tuple واحد بواسطة العامل +.
المثال الأول
النتيجة
في المثال التالي قمنا بتعريف tuple وضعنا فيه 3 عناصر تملك 'python' كقيمة لهم بواسطة العامل *.
المثال الثاني
النتيجة
عند تكرار قيم في الـ tuple بواسطة العامل * فإنه يجب وضع فاصلة بعد القيمة الموضوعة في القوس.
في حال لم يتم وضع فاصلة بعد القيمة لن يعرف مترجم بايثون أن المراد هو تعريف tuple.
في المثال التالي إستخدمنا العامل in للبحث في الـ tuple عن قيمة معينة.
المثال الثالث
النتيجة
True
دوال الكلاس tuple
إسم الدالة مع تعريفها | |
---|---|
1 | count(x)
تستخدم للبحث في الـtuple الذي قام باستدعائها عن قيمة معينة. ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x. شاهد المثال |
2 | index(x[, start[, end]])
تبحث في الـtuple الذي قام باستدعائها عن رقم فهرس أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه. في حال لم يتم العثور على القيمة المراد معرفة مكانها ترمي الإستثناء ValueError. شاهد المثال |
دوال جاهزة في بايثون للتعامل مع الـ tuple
إسم الدالة مع تعريفها | |
---|---|
1 | len(tuple)
ترجع عدد صحيح يمثل عدد عناصر الـtuple الذي نمرره لها عند إستدعائها. شاهد المثال |
2 | min(tuple)
ترجع أصغر قيمة موجودة في الـtuple الذي نمرره لها عند إستدعائها. شاهد المثال |
3 | max(tuple)
ترجع أكبر قيمة موجودة في الـtuple الذي نمرره لها عند إستدعائها. شاهد المثال |
4 | tuple(sequence)
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعائها ككائن من الكلاس الـtuple. شاهد المثال |
فائدة النوع tuple
بما أنك وجدت أن النوع tuple هو نوع محدود نوعاً ما مقارنةً بالنوع list فقد تتساءل الآن حول فائدته.
فيما يلي الأسباب التي قد تدفعك إلى استعمال النوع tuple:
- الوصول لعناصر موضوعة في tuple أسرع من الوصول لعناصر موضوعة في list.
- قيمه تعتبر آمنة حيث يمكن قراءتها فقط.
- في حال كنت تستخدم النوع dictionary و الذي توضع البيانات فيه كجدول يتألف من مفاتيح ( Keys ) و قيم ( Values ) فإنه يمكنك تمرير tuple تحتوي على أرقام أو نصوص كمفاتيح له.