str.format() تنسيق السلسلة
آخر تحديث: 2026-09-22
str.format() تنسيق السلسلة
str.format(*args, **kwargs) تستبدل العناصر النائبة {} بـ args/kwargs.
| التصنيف | دوال النصوص |
|---|---|
| النوع | دوال الأنواع المدمجة |
| إصدار بايثون | all |
📝 الصياغة
str.format(...)
⚙️ المعاملات
| args اختياري | Variable positional args mapped to {} or {0} placeholders. |
|---|---|
| kwargs اختياري | Variable keyword args mapped to {name} placeholders. |
القيمة المُعادة:str. A new string with placeholders replaced by args/kwargs.
يعدّل الكائن الأصلي:لا (يُعيد كائنًا جديدًا)
💥 الاستثناءات
IndexError— Raised when a positional placeholder index is out of range.KeyError— Raised when a placeholder field name is missing from kwargs.ValueError— Raised for an invalid format specifier or field reference syntax.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
Hello, World!
Alice is 30
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما الطرق المختلفة لكتابة العناصر النائبة {}؟
Aثلاث طرق: {} يطابق تلقائيًا حسب الموضع، و{0}/{1} حسب الفهرس، و{name} حسب الكلمة المفتاحية. على سبيل المثال، '{0}-{name}'.format(1, name='x') يعطي '1-x'.
Qما الأخطاء التي تُثار عندما لا تتطابق العناصر النائبة مع الوسائط؟
Aتجاوز الفهرس لعدد الوسائط في عنصر نائب موضعي يُثير IndexError؛ وعدم وجود الكلمة المفتاحية المقابلة لـ {name} يُثير KeyError؛ وكتابة موصِّف صيغة غير صحيح يُثير ValueError.
Qكيف أُخرج {} حرفيًا؟
Aقم بهربه باستخدام أقواس مزدوجة: '{{}}'.format() يعطي '{}'.
Qهل يجب أن أستخدم هذا أم f-strings؟
Aفضِّل f-strings (Python 3.6+) في معظم الحالات لأنها أكثر وضوحًا. أما format() فهو مناسب للقوالب المخزنة في متغيرات حيث يجب بناء سلسلة الصيغة ديناميكيًا.