في لغة بايثون، "السلاسل النصية" (Strings) هي نوع بيانات يُستخدم لتمثيل النصوص. ببساطة، السلسلة النصية هي تسلسل من الأحرف، مثل الكلمات والجمل والرموز. تُعتبر السلاسل النصية من الأنواع الأساسية والمهمة جدًا في بايثون، وتُستخدم على نطاق واسع في معالجة البيانات والتفاعل مع المستخدمين.
خصائص السلاسل النصية في بايثون:
- تسلسل: السلسلة النصية عبارة عن تسلسل مُرتب من الأحرف، ما يعني أن ترتيب الأحرف فيها مهم.
- غير قابلة للتغيير (Immutable): بمجرد إنشاء سلسلة نصية، لا يمكنك تغييرها مباشرة. إذا حاولت تعديل سلسلة نصية، فإن بايثون ستُنشئ سلسلة نصية جديدة بدلاً من تعديل الأصلية.
- مُحاطة بعلامات اقتباس: تُكتب السلاسل النصية بين علامتي اقتباس مفردة (
'
) أو مزدوجة ("
) أو ثلاثية ('''
أو"""
).
طرق إنشاء السلاسل النصية:
-
علامات اقتباس مفردة أو مزدوجة: تُستخدم لإنشاء سلاسل نصية بسيطة.
Pythonstring1 = 'مرحباً بالعالم'string2 = "Hello, world!" -
علامات اقتباس ثلاثية: تُستخدم لإنشاء سلاسل نصية متعددة الأسطر أو تحتوي على علامات اقتباس مفردة أو مزدوجة داخلها.
Pythonstring3 = '''هذه سلسلة نصيةمتعددة الأسطر.'''string4 = """هذه سلسلة نصيةتحتوي على علامة 'اقتباس' مفردة."""
العمليات على السلاسل النصية:
توفر بايثون العديد من العمليات والدوال للتعامل مع السلاسل النصية، منها:
-
الوصول إلى الأحرف (Indexing): يمكنك الوصول إلى حرف معين في السلسلة النصية باستخدام الفهرس (Index)، الذي يبدأ من 0 للحرف الأول.
Pythonstring = "Python"print(string[0]) # Output: Pprint(string[1]) # Output: yprint(string[-1]) # Output: n (الوصول من النهاية) -
التقطيع (Slicing): يمكنك استخراج جزء من السلسلة النصية باستخدام التقطيع.
Pythonstring = "Python"print(string[1:4]) # Output: ythprint(string[:3]) # Output: Pytprint(string[3:]) # Output: hon -
الدمج (Concatenation): يمكنك دمج سلسلتين نصيتين باستخدام العامل
+
.Pythonstring1 = "Hello"string2 = "World"print(string1 + " " + string2) # Output: Hello World -
التكرار (Repetition): يمكنك تكرار سلسلة نصية باستخدام العامل
*
.Pythonstring = "Hello"print(string * 3) # Output: HelloHelloHello -
الطول (Length): يمكنك الحصول على طول السلسلة النصية باستخدام الدالة
len()
.Pythonstring = "Python"print(len(string)) # Output: 6 -
التحويل إلى أحرف كبيرة/صغيرة (Case Conversion):
upper()
: لتحويل السلسلة إلى أحرف كبيرة.lower()
: لتحويل السلسلة إلى أحرف صغيرة.capitalize()
: لجعل الحرف الأول كبيرًا وبقية الأحرف صغيرة.
Pythonstring = "python"print(string.upper()) # Output: PYTHONprint("PYTHON".lower()) # Output: pythonprint("hello world".capitalize()) # Output: Hello world -
البحث والاستبدال (Finding and Replacing):
find()
: للبحث عن سلسلة فرعية وإرجاع فهرس بدايتها.replace()
: لاستبدال سلسلة فرعية بأخرى.
Pythonstring = "Hello world"print(string.find("world")) # Output: 6print(string.replace("world", "Python")) # Output: Hello Python -
التحقق من وجود سلسلة فرعية (Membership):
in
: للتحقق من وجود سلسلة فرعية في سلسلة نصية.not in
: للتحقق من عدم وجود سلسلة فرعية في سلسلة نصية.
Pythonstring = "Hello world"print("world" in string) # Output: Trueprint("python" not in string) # Output: True