الكلاس tuple
في بايثون
الـ tuple
عبارة عن مصفوفة لها حجم ثابت, يمكنها تخزين قيم من مختلف الأنواع في وقت واحد و لا يمكن تبديل قيمها.
طريقة تعريف tuple
لتعريف tuple
نستخدم الرمز ( )
.
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين. و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه فقط.
في المثال التالي قمنا بتعريف tuple
فارغ, أي لا يحتوي أي عنصر.
المثال الأول
A = () # A فارغ إسمه tuple هنا قمنا بتعريف print(A) # ( أي كما قمنا بتعريفه ) كما هو A هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف tuple
يتألف من عنصر واحد فقط.
المثال الثاني
A = (10,) # يتألف من عنصر واحد قيمته 10 tuple هنا قمنا بتعريف print(A) # ( أي كما قمنا بتعريفه ) كما هو A هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
إنتبه
وضع فاصلة بعد القيمة 10 هنا يعتبر أمر إجباري حتى يفهم مترجم بايثون أنك تنوي تعريف tuple
و ليس متغير عادي قيمته 10.
كما أنه لا حاجة لوضع فاصلة إضافية كما فعلنا هنا في حال كان الـ tuple
يحتوي على أكثر من قيمة.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه أعداد صحيحة.
المثال الثالث
numbers = (10, 20, 30, 40, 50) # يحتوي على أعداد صحيحة فقط numbers إسمه tuple هنا قمنا بتعريف print(numbers) # ( أي كما قمنا بتعريفه ) كما هو numbers هنا قمنا بعرض محتوى الكائن
•سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه نصوص.
المثال الرابع
names = ('Rami', 'Sara', 'Nada') # يحتوي على نصوص فقط names إسمه tuple هنا قمنا بتعريف print(names) # ( أي كما قمنا بتعريفه ) كما هو names هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه أعداد صحيحة و نصوص.
المثال الخامس
data = (1, 'Mhamad', 'Harmush', 1500) # يحتوي على أعداد صحيحة و نصوص data إسمه tuple هنا قمنا بتعريف print(data) # ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
الوصول لعناصر الـ tuple
في بايثون
للوصول لأي عنصر في الـ tuple
بهدف الحصول على قيمته طبعاً فإننا نستخدم رقم الـ Index الخاص بالعنصر.
How to access tuple elements in Python To access any element in the tuple in order to obtain its value, of course, we use the element's index number.
في بايثون, يمكنك الوصول للعناصر الموجودة في الـ tuple
بطريقتين:
في حال أردت الوصول لعناصر الـ
tuple
من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.في حال أردت الوصول لعناصر الـ
tuple
من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه نصوص. بعدها قمنا بعرض قيمة أول و ثاني عنصر فيه.
المثال الأول
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه tuple هنا قمنا بتعريف names = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem') print(names[0]) # names هنا قمنا بعرض قيمة أول عنصر موجود في الكائن print(names[1]) # names هنا قمنا بعرض قيمة ثاني عنصر موجود في الكائن
•سنحصل على النتيجة التالية عند التشغيل.
Sara
في المثال التالي قمنا بتعريف tuple
وضعنا فيه نصوص. بعدها قمنا بعرض قيمة آخر و قبل آخر عنصر فيه.
المثال الثاني
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه tuple هنا قمنا بتعريف names = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem') print(names[-1]) # names هنا قمنا بعرض قيمة آخر عنصر موجود في الكائن print(names[-2]) # names هنا قمنا بعرض قيمة ما قبل آخر عنصر موجود في الكائن
•سنحصل على النتيجة التالية عند التشغيل.
Mhamad
في المثال التالي قمنا بتعريف tuple
وضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for
.
المثال الثالث
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه tuple هنا قمنا بتعريف names = ('Rami', 'Sara', 'Nada', 'Mhamad', 'Salem') # و من ثم سيتم طباعتها x في المتغير names في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن for x in names: print(x)
•سنحصل على النتيجة التالية عند التشغيل.
Sara
Nada
Mhamad
Salem
في المثال التالي قمنا بتعريف tuple
وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة for
.
المثال الرابع
# وضعنا فيه أعداد صحيحة numbers إسمه tuple هنا قمنا بتعريف numbers = (10, 20, 30, 40, 50) # numbers هنا قمنا بتعريف متغير سنستخدمه لحفظ ناتج جمع القيم الموجودة في الكائن total = 0 # total و من ثم سيتم إضافتها على قيمة المتغير x في المتغير numbers في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن for x in numbers: total += x # numbers و التي ستساوي ناتج جمع القيم الموجودة في الكائن total هنا قمنا بطباعة قيمة المتغير print('Total sum is:', total)
•سنحصل على النتيجة التالية عند التشغيل.
تجزيء الـ tuple
في بايثون
المقصود من تجزيء الـ tuple
هو إرجاع جزء منه سواء لعرضه أو تخزينه.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه أرقام. بعدها قمنا بعرض جزء منه.
فعلياً قمنا بعرض العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بعرض قيم العناصر arr[0]
- arr[1]
- arr[2]
.
المثال الأول
arr = (10, 20, 30, 40, 50) # وضعنا فيه أعداد صحيحة arr إسمه tuple هنا قمنا بتعريف print(arr[0: 3]) # arr هنا قمنا بعرض أول ثلاث عناصر موجودة في الكائن
•سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه أرقام. بعدها قمنا بنسخ جزء منه و وضعه في tuple
ثانية.
فعلياً قمنا بنسخ العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بنسخ قيم العناصر arr[0]
- arr[1]
- arr[2]
.
المثال الثاني
arr = (10, 20, 30, 40, 50) # وضعنا فيه أعداد صحيحة arr إسمه tuple هنا قمنا بتعريف arr2 = arr[0: 3] # arr2 و وضعها في كائن جديد إسمه arr هنا قمنا بنسخ أول ثلاث عناصر موجودة في الكائن print(arr2) # arr2 هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
إستخدام العوامل +
و *
و in
مع الـ tuple
في بايثون
العامل | دواعي الإستخدام |
---|---|
+ |
العامل + يستخدم لدمج tuple أو أكثر في tuple واحد. |
* |
العامل * لوضع لتكرار قيمة معينة عدة مرات في الـ tuple . |
in |
العامل in يستخدم للبحث في الـ tuple عن قيمة معينة أو للمرور على قيمه عند إستخدامه في الحلقة for كما فعلنا في بعض الأمثلة السابقة. |
في المثال التالي قمنا بتخزين إثنين tuple
في tuple
واحد بواسطة العامل +
.
المثال الأول
arr1 = (1, 2, 3) # وضعنا فيه أعداد صحيحة arr1 إسمه tuple هنا قمنا بتعريف arr2 = (4, 5, 6) # وضعنا فيه أعداد صحيحة arr2 إسمه tuple هنا قمنا بتعريف arr3 = arr1 + arr2 # arr2 و arr1 وضعنا فيه قيم الكائنين arr3 إسمه tuple هنا قمنا بتعريف print(arr3) # arr3 هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف tuple
وضعنا فيه 3 عناصر تملك 'python'
كقيمة لهم بواسطة العامل *
.
المثال الثاني
arr = ('python',) * 3 # 'python' وضعنا فيه 3 عناصر قيمتهم النص arr إسمه tuple هنا قمنا بتعريف print(arr) # arr هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
إنتبه
عند تكرار قيم في الـ tuple
بواسطة العامل *
, فإنك مجبر على وضع فاصلة بعد القيمة التي وضعتها في القوس.
في حال لم تضع فاصلة بعد القيمة, لن يعرف مترجم بايثون أنك كنت تنوي تعريف tuple
.
في المثال التالي إستخدمنا العامل in
للبحث في الـ tuple
عن قيمة معينة.
المثال الثالث
arr = ('Mhamad', 'Rony', 'Rima', 'Sara') # وضعنا فيه مجموعة قيم نصية arr إسمه tuple هنا قمنا بتعريف x = 'Rima' # وضعنا فيه نص x هنا قمنا بتعريف متغير إسمه print('Is Rima in the tuple?') print(x in arr) # True إذا تم إيجادها سيتم عرض .arr في الكائن x هنا سيتم البحث عن قيمة
•سنحصل على النتيجة التالية عند التشغيل.
True
دوال الكلاس tuple
في بايثون
إسم الدالة مع تعريفها | |
---|---|
count(x)
تستخدم للبحث في الـtuple الذي قام باستدعائها عن قيمة معينة.ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x .شاهد المثال » |
|
index(x[, start[, end]])
تبحث في الـtuple الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه.في حال لم يتم العثور على القيمة المراد معرفة مكانها ترمي الإستثناء ValueError. شاهد المثال » |
دوال جاهزة في بايثون للتعامل مع الـ tuple
إسم الدالة مع تعريفها | |
---|---|
len(tuple)
ترجع عدد صحيح يمثل عدد عناصر الـtuple الذي نمرره لها عند إستدعاءها.شاهد المثال » |
|
min(tuple)
ترجع أصغر قيمة موجودة في الـtuple الذي نمرره لها عند إستدعاءها.شاهد المثال » |
|
max(tuple)
ترجع أكبر قيمة في الـtuple الذي نمرره لها عند إستدعاءها.شاهد المثال » |
|
tuple(sequence)
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـtuple .شاهد المثال » |
فائدة النوع tuple
في بايثون
بما أنك وجدت أن النوع tuple
هو نوع محدود نوعاً ما مقارنةً بالنوع list
الذي درسته في الدرس السابق فلعلك تتساءل الآن حول فائدته.
هذه الأسباب هي ما قد يدفعك النوع tuple
:
الوصول لعناصر موضوعة في
tuple
أسرع من الوصول لعناصر موضوعة فيlist
.قيمه تعتبر آمنة حيث يمكن قراءتها فقط.
في حال كنت تستخدم النوع
dictionary
و الذي يتم وضع البيانات فيه كجدول يتألف من مفاتيح ( Keys ) و قيم ( Values ). فإنه يمكنك تمريرtuple
تحتوي على أرقام أو نصوص كمفاتيح له.
Python tuple - الدالة count()
تعريفها
تستخدم للبحث في الـtuple
الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x
.
بناؤها
tuple.count(x)
باراميترات
مكان البارميتر x
نمرر الكائن أو القيمة التي نريد البحث عنها في الـtuple
.
قيمة الإرجاع
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر في الـtuple
الذي قام باستدعائها عنده نفس القيمة التي مررناها لها مكان البارميتر x
.
مثال
# وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف atuple = (1, 3, 8, 4, 3, 3, 7, 2, 3, 4, 3) # found و من ثم وضعنا الناتج في المتغير atuple لترجع كم مرة يوجد القيمة '3' في الكائن count() هنا قمنا باستدعاء الدالة found = atuple.count(3); # found هنا قمنا بعرض القيمة الموجودة في المتغير print('Number 3 exists', found, 'in the tuple')
•سنحصل على النتيجة التالية عند التشغيل.
Python tuple - الدالة index()
تعريفها
تبحث في الـtuple
الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x
و ترجعه.
في حال لم يتم العثور على القيمة المراد البحث عنها ترمي الإستثناء ValueError.
بناؤها
index(x[, start[, end]])
باراميترات
x
عبارة عن القيمة أو الكائن الذي نريد البحث عنه.start
باراميتر إختياري, يمكنك أن تمرر مكانه عدد صحيح يحدد رقم الـ Index الذي تريد أن تبدأ البحث من عنده.end
باراميتر إختياري, يمكنك أن تمرر مكانه عدد صحيح يحدد رقم الـ Index الذي تريد أن توقف البحث قبله.
قيمة الإرجاع
ترجع رقم Index أول عنصر يملك القيمة التي نمررها لها مكان الباراميتر x
.
أخطاء محتملة
ترمي الإستثناء ValueError في حال لم يتم العثور على القيمة المراد معرفة مكانها.
مثال
# وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف atuple = (1, 2, 3, 4, 5) # 3 أول عنصر يملك القيمة index هنا قمنا بعرض print(atuple.index(3)) # atuple أول عنصر يملك القيمة 3 و بدأنا عملية البحث من ثاني عنصر موجود في الكائن index هنا قمنا بعرض print(atuple.index(3, 1)) # و حتى آخر عنصر موجود فيه atuple أول عنصر يملك القيمة 3 و بدأنا عملية البحث من ثاني عنصر موجود في الكائن index هنا قمنا بعرض print(atuple.index(3, 1, 5)) # عند التشغيل ValueError أول عنصر يملك القيمة 10. و بما أنه لا يوجد أي عنصر عنده هذه القيمة سيظهر الخطأ index هنا قمنا بعرض print(atuple.index(10))
•سنحصل على النتيجة التالية عند التشغيل.
2
2
ValueError: 10 is not in tuple
Python tuple - الدالة len()
تعريفها
ترجع عدد صحيح يمثل عدد عناصر الـtuple
الذي نمرره لها عند إستدعاءها.
بناؤها
len(tuple)
باراميترات
مكان الباراميتر tuple
نمرر الـtuple
الذي نريد الحصول على عدد عناصره.
قيمة الإرجاع
ترجع عدد صحيح يمثل عدد عناصر الـtuple
الذي نمرره لها عند إستدعاءها.
مثال
# وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف atuple = (1, 2, 3, 4, 5) # len() الذي سترجعه الدالة atuple هنا قمنا بعرض عدد عناصر الكائن print('Tuple length is:', len(atuple))
•سنحصل على النتيجة التالية عند التشغيل.
Python tuple - الدالة min()
تعريفها
ترجع أصغر قيمة في الـtuple
الذي نمرره لها عند إستدعاءها.
بناؤها
min(tuple)
باراميترات
مكان الباراميتر tuple
نمرر الـtuple
الذي نريد الحصول على أصغر قيمة فيه.
قيمة الإرجاع
ترجع أصغر قيمة في الـtuple
الذي نمرره لها عند إستدعاءها.
مثال
# وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف atuple = (5, 2, 4, 6, 3) # min() و التي سترجعها الدالة atuple هنا قمنا بعرض اصغر قيمة في الكائن print('Minimum value is:', min(atuple))
•سنحصل على النتيجة التالية عند التشغيل.
Python tuple - الدالة max()
تعريفها
ترجع أكبر قيمة في الـtuple
الذي نمرره لها عند إستدعاءها.
بناؤها
max(tuple)
باراميترات
مكان الباراميتر tuple
نمرر الـtuple
الذي نريد الحصول على أكبر قيمة فيه.
قيمة الإرجاع
ترجع أكبر قيمة في الـtuple
الذي نمرره لها عند إستدعاءها.
مثال
# وضعنا فيه مجموعة أعداد صحيحة atuple إسمه tuple هنا قمنا بتعريف atuple = (5, 2, 4, 6, 3) # max() و التي سترجعها الدالة atuple هنا قمنا بعرض أكبر قيمة في الكائن print('Maximum value is:', max(atuple))
•سنحصل على النتيجة التالية عند التشغيل.
الدالة tuple()
تعريفها
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـtuple
.
بناؤها
tuple(sequence)
باراميترات
مكان الباراميتر sequence
نمرر كائن يمثل كائن يمثل مجموعة عناصر.
قيمة الإرجاع
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـtuple
.
المثال الأول
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {1, 2, 3, 4, 5} # atuple الذي سترجعه في الكائن tuple بعدها قمنا بتخزين كائن الـ .tuple لترجع نسخة منه ككائن من الكلاس aSet على الكائن tuple() هنا قمنا باستدعاء الدالة atuple = tuple(aSet) # atuple هنا قمنا بعرض ما يحتويه الكائن print(atuple)
•سنحصل على النتيجة التالية عند التشغيل.