str() إنشاء السلسلة النصية
آخر تحديث: 2026-09-22
str() إنشاء السلسلة النصية
str() يحوّل الكائن إلى سلسلة نصية؛ وإذا لم تُمرَّر وسائط يُعيد سلسلة فارغة.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
str(object='')
str(object=b'', encoding='utf-8', errors='strict')
⚙️ المعاملات
| object اختياري | The object to convert; omitted returns ''.(القيمة الافتراضية:'') |
|---|---|
| encoding اختياري | Encoding used when decoding bytes.(القيمة الافتراضية:'utf-8') |
| errors اختياري | Error handling for decoding (strict/ignore/replace, etc.).(القيمة الافتراضية:'strict') |
القيمة المُعادة:The string form of the object; bytes are decoded using the given encoding.
💥 الاستثناءات
UnicodeDecodeError— Raised when bytes cannot be decoded with the given encoding.TypeError— Raised when encoding is given with a non-bytes object.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
42
[1, 2]
中
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qماذا تُرجع str(42) و str([1, 2])؟
Aتُرجع '42' و '[1, 2]' — تحوّل str() أي كائن إلى سلسلة قابلة للقراءة.
Qماذا تُرجع str() بدون وسيطات؟
Aتُرجع السلسلة الفارغة ''.
Qماذا تُرجع str(b'\xe4\xb8\xad', encoding='utf-8')؟
Aتُرجع '中'. يجب تمرير ترميز لكائن bytes لفك ترميزه إلى سلسلة؛ دون ترميز تحصل فقط على صيغة حرفية مثل "b'\\xe4\\xb8\\xad'".
Qما الفرق بين str() و repr()؟
Astr() للبشر (يستخدمها print افتراضيًا)، وrepr() للمطور وتهدف إلى إمكانية إعادة البناء؛ مثلًا str('a') هي a بينما repr('a') هي "'a'".