導入
文字列の連結はプログラミングにおいて非常に一般的な操作です。Pythonでは、文字列の連結は様々な方法で行うことができます。このチュートリアルでは、Pythonプログラムで文字列を連結する様々な方法を紹介します。.
+演算子を使用した文字列連結
これは文字列を連結する最も簡単な方法です。簡単な例を見てみましょう。.
s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)出力: アップルパイソース ユーザー入力から 2 つの文字列を受け取って連結する別の例を見てみましょう。.
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 strstr()関数を使ってオブジェクトの文字列表現を取得できます。文字列を整数や他のオブジェクトに連結する方法を見てみましょう。.
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」を空白で区切って連結する必要がある場合、次のように記述する必要があります。 "「こんにちは」+「 」+「世界」" 書きましょう。.
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 - 2018format()関数を使用して文字列を連結する
文字列を連結してフォーマットするには、文字列 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 WorldPython の String format() 関数は非常に強力ですが、文字列を連結するためだけに使用してしまうのは正しい使い方ではありません。.
文字列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]Pythonのf文字列は、format()関数よりも簡潔で書きやすいです。また、オブジェクト引数をフィールド置換として使用する場合は、str()関数を呼び出します。.
結果
Python では文字列のフォーマットを様々な方法で行うことができます。必要に応じて使い分けてください。文字列のシーケンスを区切り文字で結合する必要がある場合は、join() 関数を使用します。連結時に何らかのフォーマットが必要な場合は、format() または f-string 関数を使用します。f-string は Python バージョン 3.6 以降で使用できます。.









