الدرس 37 من 56 · احترف بايثون

سلاسل النصوص المحترفة

تعاملنا مع النصوص كثير من قبل — اليوم نصير محترفين فيها. تخيل النص مثل عقد خرز: كل حرف خرزة، وأدواتك الجديدة مقص وصمغ وعدسة:

المقص: split — يقطع النص لقطع عند فاصل تحدده:

sentence = "فليكس يتعلم بايثون كل يوم"
words = sentence.split(" ")
print(words)   # قائمة الكلمات

الصمغ: join — يعكس المقص! يلزق قائمة قطع بسلسلة واحدة:

words = ["بايثون", "لغة", "جميلة"]
print(" ".join(words))      # بايثون لغة جميلة
print("-".join(words))      # بايثون-لغة-جميلة

الطلاء: replace — يبدّل كل ظهور لكلمة بكلمة ثانية:

txt = "أحب الشاي المر"
print(txt.replace("المر", "بالحليب"))

العدسة: in و find — نبحث:

txt = "دورة بايثون"
print("بايثون" in txt)     # True — موجودة؟
print(txt.find("بايثون"))  # 5 — وين موقعها؟

find تعطي رقم موقع الكلمة (وترجع -1 إذا ما لقاها)، وin تعطيك صح أو غلط فقط.

التنسيق الأنيق: f-strings — رأيناها من قبل، وهذي حيلتها الكاملة:

name = "فليكس"
score = 95.6789
print(f"يا {name}، نتيجتك {score:.1f}")
# يا فليكس، نتيجتك 95.7

عجيبة؟ f قبل علامة التنصيص تعني: احسبوا ما بين {} وطبعوه. و:.1f تعني "برقمة عشري واحد بس"!

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

اختبار سريع للدرس

جاوب على كل الأسئلة — لازم كلها صح. إذا غلطت بيطلع صندوق ذهبي يفهّمك وش الخطأ. مو عيب تغلط، كل مبرمج بالعالم غلط وأخذ منها درس.

1. وش يسوي "،".join(["أ"، "ب"، "ج"])؟
2. وش ترجع "أهلاً".find("xyz")؟
3. وش معنى :.1f في f"{score:.1f}"؟
الدرس 36 الدرس 38 — while و break و continue: حلقة التحكم الكاملة
FeLiXFeLiX AI — مساعد المنصتين