الفرق بين المراجعتين ل"Python/string/Template/substitute"

من موسوعة حسوب
< Python‏ | string‏ | Template
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>Template.substitute()‎</code> في بايثون}}</noinclude> يؤدي هذا التابع عملية الاستبدال...')
 
 
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:التابع <code>Template.substitute()‎</code> في بايثون}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:التابع <code>Template.substitute()‎</code> في بايثون}}</noinclude>
 
 
يؤدي هذا التابع عملية الاستبدال بالاعتماد على القالب ويعيد سلسلة نصية جديدة.
 
يؤدي هذا التابع عملية الاستبدال بالاعتماد على القالب ويعيد سلسلة نصية جديدة.
  
سطر 13: سطر 12:
 
=== <code>mapping</code> ===
 
=== <code>mapping</code> ===
  
المعامل mapping هو أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ويمكن بدلًا من ذلك أيضًا تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب.
+
أي كائن شبيه [[Python/dict|بالقاموس]] يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب.
 +
 
 +
‎‎<code>**kwds‎</code>
 +
 
 +
يمكن بدلًا مما سبق تقديم [[Python/arguments|معاملات مفتاحية]]، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب.
 +
 
 +
عند استخدام المعامل <code>mapping</code> مع المعاملات المفتاحية، تأخذ الأخيرة الأولوية في حال وجود معرّفات متكرّرة بينهما.
  
عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ المعاملات المفتاحية الأولوية في حال وجود معرّفات متكرّرة بينهما.
+
في حال عدم وجود المعرّفات في المعامل <code>mapping</code> أو عند غياب المعاملات المفتاحية، تطلق اللغة الخطأ <code>[[Python/built-in exceptions#KeyError|KeyError]]</code>، وإضافة إلى ذلك يؤدي وجود المحرف <code>$</code> في باقي أجزاء السلسلة إلى إطلاق الخطأ <code>[[Python/built-in exceptions#ValueError|ValueError]]</code>.
  
 
== القيمة المعادة ==
 
== القيمة المعادة ==
يعيد التابع سلسلة نصية جديدة ناتجة عن إجراء الاستبدالات على السلسلة النصية الأصلية.
+
يعيد التابع [[Python/str|سلسلة نصية]] جديدة ناتجة عن إجراء الاستبدالات على السلسلة النصية الأصلية.
  
 
== أمثلة ==
 
== أمثلة ==
سطر 32: سطر 37:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
 +
* التابع <code>[[Python/string/Template/safe_substitute|Template.safe_substitute()‎]]</code> : هذا التابع مشابه للتابع <code>Template.substitute()‎</code> ، باستثناء أنّه لا يطلق خطأً أو <nowiki/>[[Python/exceptions|استثناءً]] عند حدوث مشكلة أثناء عملية الاستبدال.
  
 
== مصادر ==
 
== مصادر ==
  
 
* [https://docs.python.org/3/library/string.html#string.Template.substitute قسم Template strings في صفحة Common String Operations في توثيق بايثون الرسمي.]
 
* [https://docs.python.org/3/library/string.html#string.Template.substitute قسم Template strings في صفحة Common String Operations في توثيق بايثون الرسمي.]
 +
[[تصنيف:Python]]
 +
[[تصنيف:Python Method]]
 +
[[تصنيف:Python Template]]

المراجعة الحالية بتاريخ 07:09، 18 يونيو 2018

يؤدي هذا التابع عملية الاستبدال بالاعتماد على القالب ويعيد سلسلة نصية جديدة.

البنية العامة

substitute(mapping, **kwds)

المعاملات

mapping

أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب.

‎‎**kwds‎

يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب.

عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ الأخيرة الأولوية في حال وجود معرّفات متكرّرة بينهما.

في حال عدم وجود المعرّفات في المعامل mapping أو عند غياب المعاملات المفتاحية، تطلق اللغة الخطأ KeyError، وإضافة إلى ذلك يؤدي وجود المحرف $ في باقي أجزاء السلسلة إلى إطلاق الخطأ ValueError.

القيمة المعادة

يعيد التابع سلسلة نصية جديدة ناتجة عن إجراء الاستبدالات على السلسلة النصية الأصلية.

أمثلة

يبين المثال التالي النتائج المعادة من استخدام التابع:

>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'

انظر أيضًا

  • التابع Template.safe_substitute()‎ : هذا التابع مشابه للتابع Template.substitute()‎ ، باستثناء أنّه لا يطلق خطأً أو استثناءً عند حدوث مشكلة أثناء عملية الاستبدال.

مصادر