تجميع السلاسل في Python

الدمج النصي هو عملية شائعة جدًا في البرمجة. يمكن دمج السلاسل في Python باستخدام طرق مختلفة. تهدف هذه الدورة التعليمية إلى استكشاف الطرق المختلفة لدمج السلاسل في برنامج Python.

دمج السلاسل في Python

يمكننا أداء دمج السلاسل باستخدام الطرق التالية:

  • استخدام عامل الجمع +
  • استخدام الطريقة join()
  • استخدام عامل %
  • استخدام الدالة format()
  • استخدام f-string (التفسير الحرفي للسلسلة)

دمج السلاسل باستخدام عامل الجمع +

هذه هي الطريقة الأبسط لدمج السلاسل. دعونا نلقي نظرة على مثال بسيط.

s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'

s4 = s1 + s2 + s3

print(s4)

الناتج: ApplePieSauce لنلقي نظرة على مثال آخر حيث سنحصل على سلسلتين من إدخال المستخدم وندمجهما.

s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')

print('Concatenated String =', s1 + s2)

الناتج:

Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld

من السهل جدًا استخدام عامل الجمع + لدمج السلاسل. ومع ذلك، يجب أن تكون الوسيطات سلسلة.

>>>'Hello' + 4
Traceback (most recent call last):
  File "<input>", line 1, in 
TypeError: can only concatenate str (not "int") to str

نستطيع استخدام الدالة str() للحصول على التمثيل النصي لكائن. دعونا نرى كيف يمكننا دمج سلسلة مع عدد صحيح أو كائن آخر.

print('Hello' + str(4))


class Data:
    id = 0

    def __init__(self, i):
        self.id = i

    def __str__(self):
        return 'Data[' + str(self.id) + ']'


print('Hello ' + str(Data(10)))

الناتج:

Hello4
Hello Data[10]

أكبر مشكلة مع المشغل + هي أننا لا نستطيع إضافة أي فاصل أو فاصل بين السلاسل. على سبيل المثال، إذا كنا بحاجة إلى دمج “Hello” و “World” مع فاصل فارغ، سنضطر إلى كتابته كما يلي "Hello" + " " + "World".

دمج السلاسل باستخدام الدالة join()

يمكننا استخدام الدالة join() لدمج سلسلة مع فاصل. يكون ذلك مفيدًا عندما يكون لدينا تسلسل من السلاسل، على سبيل المثال list أو tuple من السلاسل. إذا كنت لا ترغب في وجود فاصل، فاستخدم الدالة join() مع سلسلة فارغة.

s1 = 'Hello'
s2 = 'World'

print('Concatenated String using join() =', "".join([s1, s2]))

print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))

الناتج:

Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World

دمج السلاسل باستخدام المشغل %

يمكننا استخدام مشغل٪ لتنسيق السلاسل، ويمكن استخدامه أيضًا لتوصيل السلاسل. إنه مفيد عندما نريد توصيل السلاسل والقيام بتنسيق بسيط.

s1 = 'Hello'
s2 = 'World'

s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)

s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)

الناتج:

String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018

توصيل السلاسل باستخدام وظيفة format()

يمكننا استخدام وظيفة format() للسلاسل لتوصيل السلاسل وتنسيقها أيضًا.

s1 = 'Hello'
s2 = 'World'

s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)

s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)

الناتج:

String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World

وظيفة format() للسلاسل في Python قوية جدًا، واستخدامها فقط لتوصيل السلاسل ليس استخدامًا صحيحًا لها.

توصيل السلاسل باستخدام f-string

إذا كنت تستخدم Python 3.6+، يمكنك استخدام f-string أيضًا لتوصيل السلاسل. إنها طريقة جديدة لتنسيق السلاسل وتم تقديمها في PEP 498 – Literal String Interpolation.

s1 = 'Hello'
s2 = 'World'

s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)

name = 'Pankaj'
age = 34
d = Data(10)

print(f'{name} age is {age} and d={d}')

الناتج:

String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]

إن f-string في Python أكثر نظافة وسهولة في الكتابة مقارنةً بوظيفة format(). كما يُستدعى وظيفة str() عند استخدام وسيط كائن كاستبدال للحقل.

الختام

يمكن إجراء تنسيق السلاسل في Python بعدة طرق. استخدمها استنادًا إلى احتياجاتك. إذا كنت بحاجة إلى دمج سلسلة من السلاسل مع فاصلة، فاستخدم وظيفة join(). إذا كان هناك بعض التنسيق مطلوبًا أيضًا مع الدمج، فاستخدم وظيفة format() أو f-string. لاحظ أن f-string يمكن استخدامه مع Python 3.6 أو الإصدارات الأحدث.

يمكنك التحقق من النص البرمجي الكامل لـ Python والمزيد من أمثلة Python من مستودعنا على GitHub.

Source:
https://www.digitalocean.com/community/tutorials/python-string-concatenation