Pythonの学習をしている中で、文字列の連結方法と print()
関数の挙動に少し混乱したので、整理のためにまとめてみました。
自分の理解を深めるためのメモですが、同じように学習中の方の参考にもなればうれしいです。
🔹 1. 暗黙の連結(リテラル連結)
Pythonでは、隣接する文字列リテラル(クォートで囲んだ文字列)は自動で連結されます。
print('Py' 'thon') # → Python
これは +
や ,
を使わなくても、構文解析の段階で1つの文字列にまとめられる仕様です。
🔹 2. 明示的な連結(+
演算子)
+
を使って文字列を連結することもできます。
print('Py' + 'thon') # → Python
この方法なら変数を使った連結も可能です。
a = 'Py'
b = 'thon'
print(a + b) # → Python
🔹 3. print() 関数でのカンマ区切り
print() 関数では、カンマ ,
で区切った複数の引数を指定すると、それぞれが出力され、間にはデフォルトで半角スペースが挿入されます。
これは、print()関数のオプション引数 sep
のデフォルト値が ' '
(半角スペース)であるためです。
また、各引数は str()
関数によって文字列に変換されたうえで出力されます。
print('Py', 'thon') # → Py thon
これは「連結」ではなく、複数の値を並べて出力しているだけです。
print('Answer:', 42) # → Answer: 42
🔸 sepオプションで区切りを変えることも可能
sep
を変更することで、区切り文字をカスタマイズすることもできます。
例えば sep=''
とすれば、引数を間に何も挟まず(区切りなしで)出力することができます。
print('Py', 'thon', sep='') # → Python
print('Py', 'thon', sep='-') # → Py-thon
✅ まとめ
書き方 | 結果 | 解説 |
---|---|---|
'Py' 'thon' |
Python | リテラル同士は自動で連結される |
'Py' + 'thon' |
Python | + で明示的に連結 |
print('Py', 'thon') |
Py thon | カンマで分けて出力、スペース付き |
print('Py', 'thon', sep='') |
Python | 区切りを空文字にして連結出力 |
ここでまとめた内容は、自分自身が混乱した部分を振り返るために書いたものです。
Pythonを始めたばかりの方にとっても、少しでも理解の助けになればと思います。