في المرة الماضية تحدثنا عن المتتاليات في البايثون ، وقمنا باستعراض احد انواع المتتاليات وهو ال(lists)،وفي هذا العدد سنتحدث عن النوع الثاني من المتتاليات في البايثون وهو ال (Tuple) :-
Tuples
تعتبر ال(tuple)هى الوجه الاخر لل (list) باختلاف أساسى وهو أنه لا يمكن التعديل فيها (immutable).
لانشاء(tuple) جديد :
>>> w = (1,2,3)
>>> w
(1, 2, 3)
أو بطريقة اخرى عن طريق استخدام The tuple Function
>>> tuple([8,4,5])
(8, 4, 5)
>>> tuple(‘CAT’)
(‘C’, ‘A’, ‘T’)
يمكن استخدام ال(Slicing) في تحديد العناصر داخل ال(Tuple)
x=tuple(‘CATreloaded’)
>>>x[4]
‘e’
كما يمكن حساب عدد مرات تكرار عنصر معين في ال(Tuple) :
>>> x.count(‘d’)
2
————————————————————————————————————————————————–
Chapter (3) “ Working With Strings “
ذكرنا سابفا ان ال(lists) تتميز بسهولة التعديل والتغيير ، لكن الامر يختلف تمام مع الـ(Strings) فهي غير قابلة للتعديل والتغيير ، وبناء على ذلك يصبح الـ(slice assignmentst) غير مقبول ، مثلا :-
>>> website = ‘http://www.catreloaded.net’
>>>website[-3:] = ‘com’
Traceback (most recent call last):
File “<pyshell#19>”, line 1, in ?
Website[-3:] = ‘com’
TryError : object doesn’t sapport slice assignment
وللتغلب على هذه المشكلة نقوم بوضع ال(string) في (list) ثم نقوم بعمل التغيرات المطلوبة
>>>a=’CAT’
>>>a= list(a)
>>>a[3:]=’reloaded’
>>>a
CATreloaded
String Formatting
– Strings Substitutions
في بعض الاحيان يتطلب الامر اضافة بعض الرموز او الحروف الى النص :-
مثلا :
>>> a=”Mohamed”
>>> “My named is” + a
‘My name is Mohamed’
ولكن بزيادة عدد الرموز المراد دمجها بالنص يصبح الامر اكثر تعقيدا ،ولذلك نستخدم ال (strings substitutions) لتسهيل القيام بهذه العملية وليصبح الكود أكثر قابلية للقراءة والفهم .
>>> format = “Hello, %s. %s enough for you ? “
>>>value = (‘world’,’hot’)
>>>print format %value
طريقة عمل ال(Strings Substiutions) :
اكتب النص بشكل عادي ،.بعد ذلك قم بكتابة (s%) في المكان الذي تريد اضافة (variable) فيه
لاحظ ان ( s% ) تعني :
اولا : انك سوف تقوم باضافة (variable) في موضع العلامة (s%) .
ثانيا : حرف الـ(s) بتعني ان ال(variable) اللذي سيتم اضافته هو من نوع (string) ، وذلك يعني انه لا داعي لتحويل ال(variable) الى (string) لانه سيتم تحويله تلقائيا الى (string) .
بعد ذلك نقوم بكتابة ال(variable) المراد وضعه في النص ونقوم بوضعه داخل (tuple) اذا كان هناك اكثر من (variable) تريد استبداله كما في المثال السابق .
ويكون الخرج بهذه الطريقة :-
Output:
Hello, World. Hot enough for you ?
في المثال السابق استبدلنا اكثر من (variable) في المرة الواحدة ولذلك استخدمنا ال(tuple) ، لكن اذا اردنا استبدال (variable) واحد فقط ؟؟
في هذه الحالة يكون الامر اكثر سهولة .
مثال :
>>> a=” CAT”
>>> “Proud to be a %s” %a
‘Proud to be a CAT’
كما يمكن استخدام ال(String Formatting) لطباعة الارقام بانظمة مختلفة :
مثلا عند طباعة رقم 15 بالنظام السادس عشر يصبح f
>>> “This number is %x” % 15
‘This number is f’
يتبع،،،