الدرس الرابع(100):السلاسل النصية في بايثون


في الدرس السابق تعرفنا سويا على المتغيرات الرقمية،أما في هذا الدرس فسنتعرف على المتغيرات النصية التي أعتبرها أجمل خصائص بايثون....
يتم تعريف متغير نصي في بايثون مثله مثل المتغير الرقمي،و سنأخذ نفس المثال في الصورة...
text = "Monty Python"
أو يمكن استخدام علامات التنصيص الفردية
text = 'Monty Python'
بسيطة جدا أليس كذلك...
بايثون تعتبر المتغيرات النصية مصفوفات يمكنك التلاعب بالقيم التي تحويها و بالتالي تعطيك إمكانيات عديدة،لو أردنا طباعة الجزء اﻷول فقط من المتغير text،سنقوم بذلك كالتالي
print text[0,5]

ما معنى هذا اﻷمر؟
ببساطة طلبنا من مفسر بايثون أن يقوم بطباعة المتغير text و لكن بشروط،و هي أن يقوم بطباعة النصف اﻷول فقط من المتغير و ذلك عن طريق تقسيم المتغير إلى وحدات صغيرة و كل وحدة تحمل حرفا أو فراغا،ثم يقوم و في نفس الوقت بإعطاء رقم فريد لكل وحدة بدءً من الـ 0 و انتهاءً بآخر وحدة.
في المثال السابق نلاحظ بأن الجزء اﻷول للمتغير text يحوي 5 أحرف و هي التي نريد طباعتها،إذن سنطلب منه طباعة الوحدة رقم 0 و 1 و 2 و 3 و 4،و لكننا كتبنا 5 و ليس 4؟ ﻻحظ معي لو أننا كتبنا الرقم 4 عوض 5،فإن المفسر سيقوم بطباعة الوحدات 0 و 1 و 2 و 3 و بالتالي سيكتفي بطباعة Mont عوض Monty ﻷننا ببساطة طلبنا طباعة 4 وحدات فقط و ليس 5.
يمكننا و بنفس الطريقة طباعة الجزء الثاني من المتغير text عن طريق الأمر التالي:
print text[6:11]
يمكننا أيضا استخدام خاصية العد العكسي و هنا تصبح أول حاوية و التي تحمل الرقم 0 و الحرف M تحمل الرقم 12- و الحاوية الثانية ذات الرقم 1 و التي تحمل الحرف o ستحمل الرقم 11- و بالتالي لو أردنا طباعة الجزء اﻷول من المتغير text بالطريقة الجديدة سنكتب اﻷمر التالي:
print text[-12:-8] 
تسمى هذه الخاصية في بايثون بالتقطيع أو String Slicing و هي مفيدة جدا جدا خصوصا عند برمجة تطبيقات تتعامل مع المحتوى كقواعد البيانات...
هنالك بعض اﻷوامر اﻷخرى مثل 
print[:2] , print[2:]  
سأترك لكم مهمة إكتشاف عمل الأمرين السابقين...يمكنكم اﻹبداع و التلاعب بطرق الطباعة كما تشاؤون...دمتم بود،سلام

تعليقات