تتحدث هذه المقالة عن السلسلة النصية في لغة البرمجة بايثون، حيث تم شرح خصائص هذه السلسلة مثل الاقتباسات وأنواع الحروف والتعديل المباشر وتعبير الفهرسة والاستدعاء الجزئي والوظائف المدمجة وطول السلسلة والاتصال والتكرار والمنافذ. كما تم تقديم أمثلة مختلفة لكل خاصية، بدءًا من الأمثلة الأساسية وصولًا إلى الأمثلة المتقدمة. ويهدف هذا الموضوع إلى مساعدة المبرمجين الجدد في فهم واستخدام السلسلة النصية بكفاءة في بايثون.
تتميز السلاسل النصية في لغة بايثون بالعديد من الخصائص، ومنها:
string1 = "Hello World" # استخدام علامات اقتباس مزدوجة string2 = 'Python is awesome' # استخدام علامات اقتباس مفردة print(string1) print(string2)
النتيجة :
Hello World Python is awesome
string = "abc123!@# " # يمكن وضع أي نوع من الحروف في السلسلة النصية print(string)
النتيجة :
abc123!@#
string = "Hello World" # string[0] = "h" # هذا السطر غير صحيح وسيؤدي إلى خطأ TypeError
string = "Hello World" print(string[0]) # الناتج هو "H"
النتيجة : H
string = "Hello World" print(string[0:5]) # الناتج هو "Hello"
النتيجة :لاحظ سوف يطبع من الحرف رقم صفر الى الحرف رقم 4 في سلسلة الحروف والتيجة كالتالي :
Hello
string = "hello world"
new_string = string.upper() # تحويل السلسلة إلى أحرف كبيرة
print(new_string) # الناتج هو "HELLO WORLD"
string = "HELLO WORLD"
new_string = string.lower() # تحويل السلسلة إلى أحرف صغيرة
print(new_string) # الناتج هو "hello world"
string = "hello world"
new_string = string.capitalize() # تحويل الحرف الأول إلى حرف كبير
print(new_string) # الناتج هو "Hello world"
string = "Hello World"
new_string = string.replace("World", "Python") # استبدال كلمة "World" بكلمة "Python"
print(new_string) # الناتج هو "Hello Python"
النتيجة كالتالي :
HELLO WORLD hello world Hello world Hello Python
string = "Hello World" length = len(string) print(length) # الناتج هو 11
النتيجة : سيطبع عدد حروف الكلمتين بالضافة الى المسافة التي بينهما
11
ماذا لو ازلنا المسافة بين الكلمتين :
string = "HelloWorld" length = len(string) print(length) # الناتج هو 11
النتيجة ستكون 10:
10
string1 = "Hello" string2 = "World" new_string = string1 + " " + string2 # الاتصال بين السلاسل النصية print(new_string) # الناتج هو "Hello World"
النتيجة :سيتم الربط بين الكلمتين مع ترك مسافة بينهما :
Hello World
لاحظ يمنكن زيادة عدد المسافات بين الكلمتين أو حذف المسافات كالتالي :
string1 = "Hello" string2 = "World" # تركنا خمس مسافات بين الكلمتين new_string = string1 + " " + string2 # الاتصال بين السلاسل النصية print(new_string) # الناتج هو "Hello World" # حذفنا المسافات بين الكلمتين new_string = string1 + "" + string2 # الاتصال بين السلاسل النصية print(new_string) # الناتج هو "Hello World"
النتيجة :
Hello World HelloWorld
string = "Hello" new_string = string * 3 # تكرار السلسلة النصية 3 مرات print(new_string) # الناتج هو "HelloHelloHello"
النتيجة :
HelloHelloHello
يمكن تعديل وتغيير السلاسل النصية في لغة بايثون باستخدام العديد من الوظائف المتاحة. ومن بين هذه الوظائف ما يلي :
يمكن تعديل السلاسل النصية في بايثون استخدام العمليات الحسابية الأساسية (+، -، *، /) لدمج سلاسل النصوص. على سبيل المثال، يمكنك استخدام العملية “+” لدمج سلسلتين نصيتين كما يلي :
string1 = "Hello" string2 = "World" combined_string = string1 + string2 print(combined_string)
سينتج هذا الكود على النتيجة التالية: HelloWorld
تعديل السلاسل النصية في بايثون باستخدام هذه الوظيفة لتغيير جزء محدد من السلسلة النصية بجزء آخر. على سبيل المثال، يمكنك استخدامها لتغيير كلمة معينة في سلسلة نصية بكلمة أخرى كما يلي :
string = "I like apples"
new_string = string.replace("apples", "oranges")
print(new_string)
سينتج عن هذا الكود على النتيجة التالية:
I like oranges
تعديل السلاسل النصية في بايثون باستخدام هذه الوظيفة لتقسيم سلسلة نصية إلى جزئين مختلفين بناءً على حرف محدد. على سبيل المثال، يمكنك استخدامها لتقسيم جملة إلى كلمات كما يلي:
string = "I like apples"
word_list = string.split(" ")
print(word_list)
سينتج عن هذ الكود النتيجة التالية :
['I', 'like', 'apples']
تعديل السلاسل النصية في بايثون باستخدام تستخدم هذه الوظائف لتحويل السلسلة النصية إلى حروف كبيرة أو حروف صغيرة. على سبيل المثال:
string = "Hello World" upper_string = string.upper() lower_string = string.lower() print(upper_string) print(lower_string)
النتيجة :
HELLO WORLD hello world
تعديل السلاسل النصية في بايثون باستخدام هذه الوظيفة لإزالة الفراغات والأحرف غير المرغوبة من بداية ونهاية السلسلة النصية. على سبيل المثال:
string = " Hello World " new_string = string.strip() print(new_string)
سينتج هذا الكود على النتيجة التالية:
Hello World
string_list = ["Hello", "World", "!"] new_string = " ".join(string_list) print(new_string)
سينتج هذا الكود على النتيجة التالية:
Hello World !
تعديل السلاسل النصية في بايثون باستخدام هذه الوظيفة للعثور على موضع حرف أو سلسلة نصية محددة داخل سلسلة نصية أخرى. على سبيل المثال:
string = "Hello World"
position = string.find("World")
print(position)
سينتج هذا الكود على النتيجة التالية:6
تستخدم هذه الوظيفة لإدخال قيم متغيرة داخل سلسلة نصية محددة. على سبيل المثال:
name = "John"
age = 30
new_string = "My name is {0} and I am {1} years old".format(name, age)
print(new_string)
سينتج هذا الكود على النتيجة التالية:
My name is John and I am 30 years old
تستخدم هذه الوظيفة لاستبدال جميع حالات حرف أو سلسلة نصية محددة داخل سلسلة نصية أخرى بحرف أو سلسلة نصية جديدة. على سبيل المثال:
string = "Hello World"
new_string = string.replace("World", "Python")
print(new_string)
سينتج هذا الكود على النتيجة التالية:
Hello Python
تستخدم هذه الوظيفة لتحويل سلسلة نصية إلى قائمة تحتوي على الكلمات الفردية الموجودة في السلسلة النصية. على سبيل المثال:
string = "Hello World" string_list = string.split() print(string_list)
سينتج هذا الكود على النتيجة التالية:
['Hello', 'World']
تستخدم هذه الوظيفة لتعويض القيم في سلسلة نصية معينة باستخدام قاموس. على سبيل المثال:
person = {'name': 'John', 'age': 30}
new_string = "My name is {name} and I am {age} years old".format_map(person)
print(new_string)
سينتج هذا الكود على النتيجة التالية:
My name is John and I am 30 years old
تستخدم هذه الوظيفة للتحقق مما إذا كانت السلسلة النصية تحتوي فقط على أرقام أو لا. على سبيل المثال:
string1 = "123" string2 = "1a2" print(string1.isnumeric()) # True print(string2.isnumeric()) # False
النتيجة :
True False