انواع البيانات في البايثون 3
نشر في يوم Fri 14 May 2021 في قسم \ اقسام سلسلة مبادئ البايثون
انواع البيانات في البايثون 3
النصوص
النصوص هي سلسلة من الاحرف ويرمز اليها في البايثون بــ str.
وهي تكون محدودة من الجهتين بعلامة التنصيص الواحدة ' او علامتي التنصيص " بذلك يصبح كل ما بينهما جزء من النص.
1 2 3 4 |
|
النص في البايثون بأمكانة احتواء اي حرف ترغب به وبالعدد المحدود بقدرات جهازك, كما انه ايضا يمكن ان يكون فارغاً
1 2 |
|
ربما البعض منكم يتسائل الان ماذا اذا اردت ان اضمن علامة التنصيص في محتوى النص ؟
1 2 3 4 5 |
|
كما رأيتم سيضهر لنا خطأ وذلك لان البايثون قيم بداية النص بعلامة التنصيص المفردة واي علامة تنصيص مفردة اخرى سيعتبرها نهاية للنص.
بالتالي قيم هذا المحتوى فقط
1 |
|
وبقي هذا
1 |
|
والسطر الاخير لا يفهمة البايثون فأعتبرة خطأً بنيوياً syntax error
اذا ما الحل؟
اذا اردنا ان نستخدم علامة التنصيص الواحدة ضمن النص فيجب ان يكون حدود النص كاملا بعلامتي التنصيص, هكذا:
1 2 |
|
والعكس صحيح
1 2 |
|
جميل!
لكن ربما ايضا يتسائل بعضكم الان ماذا اذا اردنا ان نضمن كلا علامتي التنصيص الفردية والزوجية في النص؟ :)
تخطي النصوص escape
التخطي يستخدم لحالتين:
- عندما تريد ايقاف البايثون من تفسير بعض الاحرف الخاصة التي لها معنى خاص في البايثون.
- او عندما تريد من البايثون فهم وتفسير معنى خاص ان تعطية لها
الاول هو الذي واجهنا مسبقا وسنعرفة الان, اما الثاني سنشرحة بعد الاول:
في كلا الحالتين سوف نستخدم حرف الخط المائل للخلف \
وهذا الحرف خاص في البايثون وعندما يتم تقييمة يشير للمفسر ان اي حرف او اكثر بعده يجب ان يعامل معاملة خاصة.
اذا كنتم تذكرون المثال السابق
1 2 3 4 5 |
|
بأمكاننا تخطية بالطريقة التالية
1 2 |
|
وتباعاً جميع طرق التخطي والتي لها معنا خاص في بايثون
- \' لتخطي علامة التنصيص الواحدة.
- \" لتخطي علامتي التنصيص.
- \ لتخطي الاسطر الجديدة.
- \\ لتخطي علامة التخطي اذا اردنا استخدامها في النص.
والامثلة كالتالي :
لتخطي الاسطر الجديدة
1 2 3 4 |
|
لتخطي علامة التخطي
1 2 |
|
عند كتابة الموضوع استخدمت محرر markdown والذي يستخدم نفس خاصية التخطي فعند كتابة \\ في الواقع انا كتبتها هكذا \\\ والاخيرة هذه التي كتبتها هنا للتوضيح في الواقع كتبت \\\\\ والاخيرة هذه في الواقع ... :) لن ننتهي
اما الاستخدام الثاني فيطول شرحة لكن سنذكرة دون امثلة للكل:
والذي كان : عندما تريد من البايثون فهم وتفسير معنى خاص ان تعطية لها
وتكون كالتالي:
- \a
- \b
- \f
- \n
- \N{name}
- \r
- \u
- \U
- \v
- \ooo
- \xhh
بامكانكم الاطلاع هنا
بعض الامثلة:
لاضافة تاب داخل النص:
1 2 |
|
لاضافة سطر جديد:
1 2 3 |
|
لاستخدام احرف بترميز يونيكود:
1 2 |
|
1 2 |
|
تستخدم هذه الانواع من التخطيات غالبا لادخال احرف لا تكون موجودة في الكيبوورد او عندما تكون هذه الاحرف لا يوجد لها رموز مقروءة او مطبوعة.
النص الخام
والذي يشير للمفسر بان اذا كان هناك اي طريقة للتخطي داخل النص لا تقيمها بشكل خاص واطبعها كما هي.
نكتب النصوص الخام في البايثون بتضمين r او R قبل بداية النص كالتالي:
1 2 3 4 5 6 7 8 9 10 |
|
كما تلاحظون عندما نسبق النص بحرف r او R فيصبح التخطي لا معنى له اطلاقاً.
النصوص المحاطة بعلامات تنصيص ثلاثية
هناك ايضا نوع اخر من النصوص والتي يكون في النص محاطا اما بــ ''' او """ وسوف يفسرة البايثون على انه نص, جميع طرق التخطي السابقة يقيمها البايثون في هذا النوع الا علامة التنصيص الواحدة ' وعلامتي التنصيص " والسطر الجديد, بامكاننا كتابتها كما هي وسوف يتخطاها البايثون بدلا منا.
مثال:
1 2 |
|
مثال آخر:
1 2 3 4 5 6 |
|
كما تعتبر ايضا هذه الطريقة الاخيرة كنوع من توثيق شيفرتنا وسنأتي على هذا في دروس قادمة ان شاء الله.
ولو طلبنا من البايثون بارجاع ماهية نوع البيانات المستخدم مع جميع الامثلة السابقة سيعطينا انها من نوع str كالتالي:
1 2 |
|