:: فروع شركة الحمد (آخر رد :soha mag)       :: المحامية رباب المعبي : حكم لصالح موكلنا بأحقيتة للمبالغ محل الدعوى (آخر رد :غوايش)       :: المحامية رباب المعبي : حكم لصالح موكلنا بأحقيتة للمبالغ محل الدعوى (آخر رد :جاسر صفوان)       :: شركة الحمد وفروعها (آخر رد :soha mag)       :: دورة التأمــين البحــرى على البضــائع#دورات#تدريبية#معتمدة فى مجال التامينات (آخر رد :زينة محمد)       :: دورة الأحتيال في التأمين البحري#دورات#تدريبية#معتمدة فى مجال التامينات (آخر رد :زينة محمد)       :: دورة التميز والإبداع في التعامل مع المستفيدين من الخدمات التأمينية#ورشة فى عمل التامي (آخر رد :زينة محمد)       :: مهارات التسويق الحديثة للتأمين#دورات#تدريبية#معتمدة#التامينات#مركزالتدريب الدولي itr (آخر رد :زينة محمد)       :: دورة التأمين الطبى#دورات#تدريبية#معتمدة#التامينات#مركزالتدريب الدولي itr (آخر رد :زينة محمد)       :: فروع شركة الحمد وخدماتها (آخر رد :soha mag)      
اختر لونك:
وَقُلِ اعْمَلُوا فَسَيَرَى اللَّهُ عَمَلَكُمْ وَرَسُولُهُ وَالْمُؤْمِنُونَ ۖ وَسَتُرَدُّونَ إِلَىٰ عَالِمِ الْغَيْبِ وَالشَّهَادَةِ فَيُنَبِّئُكُم بِمَا كُنتُمْ تَعْمَلُونَ [ التوبة : ( 105 )] كلمة الإدارة

يرجى إختيار القسم المناسب قبل النشر وسيعاقب المخالف بإنذار أول مرة وسيتم حظره إذا تكرر ذلك كلمة الإدارة

يُمنع كتابة مواضيع السحر والشعوذة والروحانيات والابراج بكافة الأشكال والمخالف سيعاقب بحظر مؤقت وإذا تكرر سيكون حظر دائم تنبيه هام جداً



أضف رد جديد
 
LinkBack أدوات الموضوع انواع عرض الموضوع

قديم 01-03-2019, 09:57 AM   #1
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
افتراضي كيفية استخدام آلية تنسيق السلاسل النصية في بايثون 3

كيفية استخدام آلية تنسيق السلاسل النصية في بايثون 3

الدالة str.format()‎ المتوافرة للسلاسل النصية تسمح لك باستبدال المتغيرات وتنسيق القيم. مما يمنحك القدرة على تجميع العناصر مع بعضها عبر إدخالها في مواضع معينة.
سيشرح لك هذا الدرس أشهر الاستخدامات لآلية تنسيق السلاسل النصية في بايثون، والتي ستساعدك في جعل شيفرتك وبرنامجك أسهل قراءةً واستخدامًا.

main.png

استخدام «المُنسِّقات»
تعمل المُنسِّقات (formatters) بوضع حقول قابلة للاستبدال تُعرَّف عبر وضع قوسين معقوفين {} في السلسلة النصية ثم استدعاء الدالة str.format()‎، إذ ستُمرَّر القيمة التي تريد وضعها ضمن السلسلة النصية إلى الدالة format()‎ وستوضع هذه القيمة في نفس مكان الحقل القابل للاستبدال الموجود في السلسلة الأصلية عندما تُشغِّل برنامجك.
لنطبع سلسلةً نصيةً تستخدم «مُنسِّقًا» (formatter):

print("Sammy has {} balloons.".format(5))
الناتج:

Sammy has 5 balloons.
أنشأنا في المثال السابق سلسلةً نصيةً تحتوي على قوسين معقوفين:

"Sammy has {} balloons."
ثم أضفنا الدالة str.format()‎ ومررنا إليها القيمة الرقمية 5 وهذا يعني أنَّ القيمة 5 ستوضع مكان القوسين المعقوفين:

Sammy has 5 balloons.
يمكننا أيضًا إسناد السلسلة النصية الأصلية التي تحتوي مُنسِّقًا إلى متغير:

open_string = "Sammy loves {}."
print(open_string.format("open source"))
الناتج:

Sammy loves open source.
أضفنا في المثال السابق السلسلة النصية "open source" إلى سلسلةٍ نصيةٍ أكبر باستبدالها للقوسين المعقوفين الموجودَين في السلسلة الأصلية.
تسمح لك المُنسِّقات في بايثون باستخدام الأقواس المعقوفة لحجز أماكن للقيم التي ستمررها مستقبلًا عبر الدالة str.format()‎.

استخدام المُنسِّقات لحجز أكثر من مكان
يمكنك استخدام أكثر من زوج من الأقواس المعقوفة عند استعمال المُنسِّقات؛ فيمكنك أن تضيف سلسلةً نصيةً أخرى إلى المثال السابق وذلك بإضافة زوج آخر من الأقواس المعقوفة وتمرير قيمة ثانية إلى الدالة كما يلي:

new_open_string = "Sammy loves {} {}." # {} مكانين محجوزين عبر
print(new_open_string.format("open-source", "software")) # تمرير قيمتين إلى الدالة مفصولٌ بينهما بفاصلة
الناتج:

Sammy loves open-source software.
أضفنا زوجًا آخر من الأقواس المعقوفة إلى السلسلة النصية للسماح بوضع قيمة ثانية، ثم مررنا سلسلتين نصيتين إلى الدالة str.format()‎ مفصولٌ بينهما بفاصلة.
سنضيف عمليات استبدال أخرى عبر اتباع نفس الآلية التي شرحناها أعلاه:

sammy_string = "Sammy loves {} {}, and has {} {}."
print(sammy_string.format("open-source", "software", 5, "balloons"))
الناتج:

Sammy loves open-source software, and has 5 balloons.
إعادة ترتيب المنسقات عبر المعاملات الموضعية
عندما نترك الأقواس المعقوفة دون معاملات (parameters) ممررة إليها، فستضع بايثون القيم المُمرَّرة إلى الدالة str.format()‎ بالترتيب. هذا تعبيرٌ فيه زوجين من الأقواس المعقوفة يوضع مكانهما سلسلتان نصيتان شبيهٌ بما رأيناه سابقًا في هذا الدرس:

print("Sammy the {} has a pet {}!".format("shark", "pilot fish"))
الناتج:

Sammy the shark has a pet pilot fish!
اُستبدِل أوّل زوجٍ من الأقواس المعقوفة ووضعت مكانه القيمة "shark"، ووضعت القيمة "pilot fish" مكان الزوج الثاني من الأقواس.
القيم التي مررناها إلى الدالة str.format()‎ كانت بهذا الترتيب:

("shark", "pilot fish")
إن سبق لك دراسة أنواع البيانات المُختلفة على بايثون فقد تلاحظ أنَّ القيمة السابقة هي من النوع tuple، ويمكن الوصول إلى كل قيمة موجودة فيها عبر فهرسٍ رقميٍ تابعٍ لها، والذي يبدأ من الفهرس 0.
يمكننا تمرير أرقام الفهارس إلى داخل القوسين المعقوفين:

print("Sammy the {0} has a pet {1}!".format("shark", "pilot fish"))
سنحصل بعد تنفيذ المثال السابق على نفس الناتج التي ظهر دون تحديد أرقام الفهارس يدويًا، وذلك لأننا استدعينا القيم بالترتيب:

Sammy the shark has a pet pilot fish!
لكن إن عكسنا أرقام الفهارس في معاملات الأقواس المعقوفة فسنتمكن من عكس ترتيب القيم المُمرَّرة إلى السلسلة النصية الأصلية:

print("Sammy the {1} has a pet {0}!".format("shark", "pilot fish"))
الناتج:

Sammy the pilot fish has a pet shark!
لكن إن حاولت استخدام الفهرس ذي الرقم 2 ولم تكن لديك إلا قيمتين موجودتين في الفهرسين 0 و 1، فأنت تستدعي قيمةً خارج المجال المسموح، ولهذا السبب ستظهر رسالة خطأ:

print("Sammy the {2} has a pet {1}!".format("shark", "pilot fish"))
الناتج:

IndexError: tuple index out of range
تُشير رسالة الخطأ إلى وجود قيمتين فقط ومكانهما هو 0 و1، لذا كان الفهرس 2 غير مرتبطٍ بقيمةٍ وكان خارج المجال المسموح.
لنضف الآن مكانين محجوزين إلى السلسلة النصية ولنمرر بضع قيم إلى الدالة str.format()‎ لكي نفهم آلية إعادة الترتيب فهمًا تامًا. هذه هي السلسلة النصية الجديدة التي فيها أربعة أزواج من الأقواس المعقوفة:

print("Sammy is a {}, {}, and {} {}!".format("happy", "smiling", "blue", "shark"))
الناتج:

Sammy is a happy, smiling and blue shark!
ستوضع القيم المُمرَّرة إلى الدالة str.format()‎ بنفس ترتيب ورودها في حال لم نستعمل المعاملات داخل الأقواس المعقوفة.
تملك السلاسل النصية المُمرَّرة إلى الدالة str.format()‎ الفهارس الآتية المرتبطة بها:

“happy” “smiling” “blue” “shark”
0 1 2 3

لنستخدم الآن أرقام الفهارس لتغيير ترتيب ظهور القيم المرتبطة بها في السلسلة النصية:



print("Sammy is a {3}, {2}, and {1} {0}!".format("happy"

مهرة النجدية غير متواجد حالياً   اقتباس
أضف رد جديد

الكلمات الدلالية (Tags)
منتديات رحيل, رحيل, شبكة رحيل, r7il, r7il.com


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مدخل إلى التعامل مع السلاسل النصية في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 10:09 AM
كيفية تنسيق النصوص في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 10:08 AM
مقدمة إلى دوال التعامل مع السلاسل النصية في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 10:06 AM
آلية فهرسة السلاسل النصية وطريقة تقسيمها في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 10:02 AM
كيفية التعامل مع الملفات النصية في بايثون 3 مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 01-03-2019 09:59 AM


الساعة الآن 04:13 PM

 


Content Relevant URLs by vBSEO ©2010, Crawlability, Inc.