الانتقال إلى المحتوى الرئيسي
الوحدة 4 · الدرس 1 من 413/36 في الدورة~12 min
دروس الوحدة (1/4)

طرق السلسلة

السلاسل النصية في بايثون غير قابلة للتغيير: أي طريقة "تعدلها". في الواقع ** تُرجع سلسلة جديدة **، ويبقى النص الأصلي كما هو.

Python
s = "Ciao"
s.upper()   # 'CIAO'   (nuova stringa)
s           # 'Ciao'   (originale invariata)

"للتحديث" قم بتعيين النتيجة: s = s.upper().

الأحرف الكبيرة، الأحرف الصغيرة، التحكم في الحالة

Python
"Ciao".upper()        # 'CIAO'
"CIAO".lower()        # 'ciao'
"ciao mondo".title()  # 'Ciao Mondo'
"ciao".capitalize()   # 'Ciao'
"CiAo".swapcase()     # 'cIaO'

التنظيف: strip

يزيل المسافات البيضاء (المسافات وعلامات التبويب والأسطر الجديدة) من الحواف.

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

الانقسام وإعادة الانضمام: split / join

Python
"a,b,c".split(",")          # ['a', 'b', 'c']
"  ciao  mondo".split()     # ['ciao', 'mondo']   (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"])  # 'a,b,c'

المصطلح الأساسي: "separator".join(list_of_strings). جميع العناصر يجب أن تكون سلاسل، وإلا TypeError.

الاستبدال: replace

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

اختبارات المحتوى

Python
"image.png".endswith(".png")   # True
"http://".startswith("http")    # True
"ciao" in "ciao mondo"          # True   (operatore in)
"ciao mondo".find("mondo")      # 5      (-1 se non trovato)
"ciao mondo".count("o")         # 2

find يُرجع -1 إذا كانت السلسلة الفرعية غير موجودة؛ index بدلاً من ذلك يتم رفعه محمي_INLINE_17.

السلاسل غير قابلة للتغيير

في بايثون، السلاسل غير قابلة للتغيير: لا توجد طريقة سلسلة تعدل السلسلة الأصلية؛ بدلاً من ذلك، يقومون دائماً بإرجاع سلسلة جديدة. إذا كتبت s.upper()، فإن المتغير s يبقى دون تغيير. لحفظ التعديل، يجب عليك إعادة تعيينه: s = s.upper().

جربه

تمرين#python.m4.l1.e1
المحاولات: 0جارٍ التحميل…

بالنظر إلى `name = 'Ada Lovelace''، قم بحساب ``منظف`` كـ `name` بدون مسافات حافة وكل الأحرف الصغيرة. تقييم "تنظيف".

جارٍ تحميل المحرر…
إظهار التلميح

قم بتسلسل الطرق: أول شريط ()، ثم أقل ().

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#python.m4.l1.e2
المحاولات: 0جارٍ التحميل…

بالنظر إلى `csv = 'mela,pera,kiwi''، احصل على قائمة `fruits` بالتقسيم على فاصلة، ثم أعد بناء `slash_separated` بالربط مع ' / '. تقييم `slash_separated`.

جارٍ تحميل المحرر…
إظهار التلميح

الانقسام ينفصل، والانضمام يجمع مرة أخرى.

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#python.m4.l1.e3
المحاولات: 0جارٍ التحميل…

بالنظر إلى السلسلة \`raw_text = " helloworld "\`، قم بإزالة المسافات البيضاء البادئة واللاحقة باستخدام \`.strip()\` وقم بتحويل النص إلى أحرف كبيرة. قم بتخزين النتيجة التي تم تنظيفها في \`نص_نظيف\` وقم بتقييمها.

جارٍ تحميل المحرر…
إظهار التلميح

دمج الاستدعاءات في سلسلة: Raw_text.strip().upper().

الحل متاح بعد 3 من المحاولات