سلاسل القوالب في بايثون
تقدّم القوالب طريقة أبسط لإجراء عمليات الاستبدال في السلاسل النصية الموصوفة في PEP 292. حيث يمكن إجراء عمليات الاستبدال باستخدام الرمز $ بدلًا من الرمز %، وباتباع القواعد التالية:
- يعتبر التسلسل $$ تسلسل تهريب، ويجري استبداله بعلامة $ واحدة.
- تسمّي الصيغة $identifier معرّفًا يحدّد موضعًا للاستبدال يطابق مفتاح ربط يحمل الاسم "identifier". المعرّفات الصالحة هي تلك التي تتضمّن حروفًا وأرقامًا بترميز ASCII وتكون غير حساسة لحالة الأحرف، وتبدأ بشرطة سفلية أو أحد حروف الترميز ASCII. وينتهي اسم المحرّف عند أوّل حرف لا تنطبق عليه هذه القيود.
- الصيغة ${identifier} مكافئة للصيغة $identifier، وتُستخدم في الحالات التي يتضمّن فيها المعرّف حروفًا صالحة ولكنّها ليست جزءًا من اسم المعرّف مثل: "${noun}ification".
يؤدي ظهور الرمز $ في أي مكان آخر ضمن السلسلة النصية إلى إطلاق الخطأ ValueError.
تقدّم وحدة string الصنف Template الذي يستخدم القواعد الآنفة الذكر في عمله، ويدعم هذا الصنف خاصية واحدة وتابعين.
خاصية الصنف Template
template
تمثّل الكائن الممرّر كمعامل للتابع الباني للصنف Template، وعادة لا يجدر تغيير قيمة هذه الخاصية، ولكن ذلك ليس أمرًا إلزاميًا.
تابعا الصنف Template
يقدّم الصنف Template
التابعين التاليين:
التابع Template.substitue()
يؤدي هذا التابع عملية الاستبدال بالاعتماد على القالب ويعيد سلسلة نصية جديدة.
التابع Template.safe_substitue()
هذا التابع مشابه للتابع السابق، باستثناء أنّه لا يطلق خطأً أو استثناءً عند حدوث مشكلة أثناء عملية الاستبدال.
مصادر
قسم Template Strings في صفحة Common String Operations في توثيق بايثون الرسمي.