الحاق رشته پایتون

مقدمه

String Concatenation یک عملیات بسیار رایج در برنامه نویسی است. الحاق رشته پایتون را می توان با استفاده از روش های مختلفی انجام داد. هدف این آموزش کشف راه های مختلف برای به هم پیوستن رشته ها در یک برنامه پایتون است.

الحاق رشته با استفاده از عملگر +

این ساده ترین راه برای الحاق رشته ها است. بیایید به یک مثال ساده نگاه کنیم.

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() برای الحاق رشته با جداکننده استفاده کنیم. زمانی مفید است که دنباله ای از رشته ها داشته باشیم، به عنوان مثال لیست یا چند رشته از رشته ها. اگر جداکننده نمی خواهید، از تابع 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()

ما می توانیم از تابع string 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

تابع قالب ()Python String بسیار قدرتمند است، استفاده از آن فقط برای الحاق رشته ها استفاده درستی از آن نیست.

الحاق رشته با استفاده از رشته f

اگر از 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 پایتون در مقایسه با تابع format() تمیزتر و راحت‌تر برای نوشتن است. همچنین زمانی که آرگومان شی به عنوان جایگزین فیلد استفاده می شود، تابع str() را فراخوانی می کند.

نتیجه

قالب بندی رشته پایتون را می توان به روش های مختلفی انجام داد. بر اساس نیاز خود از آنها استفاده کنید. اگر باید دنباله‌ای از رشته‌ها را با یک محدود شده به هم بپیوندید، از تابع join() استفاده کنید. اگر مقداری قالب‌بندی با الحاق نیز مورد نیاز است، از تابع format() یا f-string استفاده کنید. توجه داشته باشید که f-string را می توان با نسخه های Python 3.6 یا بالاتر استفاده کرد.

[تعداد: 1   میانگین: 5/5]
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شاید دوست داشته باشید