giriiş
Dize Birleştirme, programlamada çok yaygın bir işlemdir. Python dize birleştirme işlemi çeşitli yöntemler kullanılarak yapılabilir. Bu eğitimin amacı, bir Python programında dizeleri birleştirmenin farklı yollarını incelemektir.
+ operatörü kullanılarak dize birleştirme
Bu, dizeleri birleştirmenin en basit yoludur. Basit bir örneğe bakalım.
s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)Çıktı: Elmalı Turta Sosu Kullanıcı girdisinden iki adet string alıp bunları birleştirdiğimiz başka bir örneğe bakalım.
s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')
print('Concatenated String =', s1 + s2)Çıktı:
Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorldDizeleri birleştirmek için + operatörünü kullanmak çok kolaydır. Ancak, argümanların bir dize olması gerekir.
>>>'Hello' + 4
Traceback (most recent call last):
File "<input>", line 1, in
TypeError: can only concatenate str (not "int") to strBir nesnenin dize gösterimini elde etmek için str() fonksiyonunu kullanabiliriz. Bir dizeyi bir tam sayıya veya başka bir nesneye nasıl birleştireceğimizi görelim.
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)))Çıktı:
Hello4
Hello Data[10]+ operatörüyle ilgili en büyük sorun, dizeler arasına ayırıcı veya sınırlayıcı ekleyemememizdir. Örneğin, "Merhaba" ve "Dünya"yı boşluk ayırıcısıyla birleştirmemiz gerekiyorsa, bunu şu şekilde yazmamız gerekir: ""Merhaba" + " " + "Dünya"" Yazalım.
join() fonksiyonunu kullanarak dizeleri birleştirme
Dizelerin bir ayırıcıyla birleştirilmesi için join() fonksiyonunu kullanabiliriz. Bu, bir dizi dizemiz olduğunda, örneğin bir liste veya birden fazla dize dizisi olduğunda kullanışlıdır. Ayırıcı istemiyorsanız, boş bir dizeyle join() fonksiyonunu kullanın.
s1 = 'Hello'
s2 = 'World'
print('Concatenated String using join() =', "".join([s1, s2]))
print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))Çıktı:
Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World% operatörünü kullanarak dizeleri birleştirin
% operatörünü dizeleri biçimlendirmek için kullanabiliriz, ayrıca dizeleri birleştirmek için de kullanılabilir. Dizeleri birleştirmek ve basit biçimlendirme yapmak istediğimizde kullanışlıdır.
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)Çıktı:
String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018format() fonksiyonunu kullanarak dizeleri birleştirin
Ayrıca dizeleri birleştirmek ve biçimlendirmek için string format() fonksiyonunu da kullanabiliriz.
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)Çıktı:
String Concatenation using format() = Hello-World
String Concatenation using format() = Hello WorldPython String format() fonksiyonu çok güçlüdür, onu sadece dizeleri birleştirmek için kullanmak doğru bir kullanım değildir.
f dizesini kullanarak dize birleştirme
Python 3.6 ve üzeri kullanıyorsanız, dizeleri birleştirmek için f-string'i de kullanabilirsiniz. Bu, dizeleri biçimlendirmenin yeni bir yoludur ve PEP 498 - Kelimenin Tam Anlamıyla Dize İnterpolasyonu'nda tanıtılmıştır.
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}')Çıktı:
String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]Python'un f dizisi, format() fonksiyonundan daha temiz ve yazılması daha kolaydır. Ayrıca, nesne argümanı alan yerine kullanıldığında str() fonksiyonunu çağırır.
Sonuç
Python dize biçimlendirmesi çeşitli şekillerde yapılabilir. Bunları ihtiyaçlarınıza göre kullanın. Bir dizi dizeyi bir ayırıcıyla birleştirmeniz gerekiyorsa, join() fonksiyonunu kullanın. Birleştirme işleminde biçimlendirme de gerekiyorsa, format() veya f-string fonksiyonunu kullanın. f-string'in Python 3.6 ve sonraki sürümlerinde kullanılabileceğini unutmayın.









