Kodokon kodokon.com

السلاسل النصية بعمق: التقطيع، سلاسل f، التوابع

استخرج النصوص ونسّقها ونظّفها كما في مشروع حقيقي بفضل التقطيع وسلاسل f وتوابع السلاسل النصية.

8 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

في المشروع الحقيقي، أنت تتعامل مع السلاسل النصية باستمرار: مراجع الطلبات، وعناوين البريد الإلكتروني، وأسطر الملفات. يستخرج التقطيع (slicing) سلسلة فرعية بالصياغة [start:stop:step]: فهرس النهاية مُستثنى، والفهارس السالبة تُحسب من النهاية، وحذف أحد الحدين يعني "من البداية" أو "إلى النهاية".

PYTHON
reference = "ORD-2026-00042"

print(reference[:3])    # ORD
print(reference[4:8])   # 2026
print(reference[-5:])   # 00042
print(reference[::-1])  # 24000-6202-DRO
يقسّم التقطيع مرجعًا دون كتابة أيّ حلقة.

سلاسل f هي الطريقة الحديثة لبناء النصوص: ضع البادئة f قبل السلسلة، وأدرج التعبيرات بين أقواس معقوفة. وتتحكم مواصفة التنسيق بعد النقطتين في العرض: :.2f تقرّب إلى منزلتين عشريتين، و:03d تملأ بالأصفار. عمليًا، تخلَّ عن الدمج باستخدام +: فسلسلة f أسهل قراءةً وتتجنّب أخطاء الأنواع.

PYTHON
product = "wireless keyboard"
price = 49.9
stock = 3

print(f"{product} : {price:.2f} EUR")
print(f"Stock : {stock:03d} units")
total = price * stock
print(f"Total : {total:.2f} EUR")
تضمن مواصفات التنسيق عرضًا نظيفًا للأعداد.

تغطي توابع السلاسل النصية أساسيات تنظيف البيانات: يحذف strip المسافات المحيطة، وsplit يقسّم إلى قائمة، وjoin يلصق من جديد، وlower وupper يوحّدان حالة الأحرف، وreplace يستبدل، وstartswith وendswith يختبران الطرفين. نقطة أساسية: السلاسل النصية غير قابلة للتغيير، فكل تابع يُرجِع سلسلة جديدة دون تعديل الأصلية.

PYTHON
raw = "  Alice.Martin@Example.COM ; ADMIN "

email, role = raw.split(";")
email = email.strip().lower()
role = role.strip().lower()

print(email)  # alice.martin@example.com
print(role)   # admin
print(email.endswith("@example.com"))  # True
تسلسل strip و lower و split: ثلاثي تنظيف البيانات.

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. ما قيمة "python"[1:4]؟
    • pyt
    • yth
    • ytho
    • pyth
  2. ماذا يعرض print(f"{3.14159:.2f}")؟
    • 3.14
    • 3.1415
    • 3,14
    • 0.14
  3. ماذا تُرجِع "a,b,c".split(",")؟
    • السلسلة النصية 'abc'
    • القائمة ['a', 'b', 'c']
    • الصف (tuple) ('a', 'b', 'c')