Pythonで文字列と数値を連結する方法に関して説明します。
正常に動作する例に加え、NG例も交えて記載します。
環境
- Python: 3.11.2
連結する方法
まずは、正常に動作する例を説明します。
f文字列を使用
f文字列を使用するのが、直感的で一番分かりやすい方法だと思われます。
Python3.6からの導入となりますので、バージョンが3.6以上であればこれを使用するのが良いでしょう。
num = 1
f_str = f"day{num}"
print(f_str)
# day1
formatを使用
format関数を使用する方法です。
3.6以上でない場合、こちらを使用するのが良いと思われます。
num = 1
format_str = "day{}".format(num)
print(format_str)
# day1
NG例
プラス(+)演算子を使用
+演算子を使用した場合、数値を文字列と連結できない旨のエラーが出力されます。
(TypeError: can only concatenate str (not "int") to str
部分)
num = 1
plus_str = "day" + num
print(plus_str)
"""
Traceback (most recent call last):
File "/root/src/str_int_combination.py", line 2, in <module>
plus_str = "day" + num
~~~~~~^~~~~
TypeError: can only concatenate str (not "int") to str
"""
以下のようにstr()
を使って文字列に変換すると対応することはできますが、わざわざ文字列に変換して連結するのは微妙ですよね。
f文字列かformatを使用する方が直感的で分かりやすいと思います。
num = 1
plus_str = "day" + str(num)
print(plus_str)
# day1
まとめ
Pythonで文字列と数値を連結する方法に関して説明しました。
比較的新しいバージョン(3.6以上)を使用している場合、f文字列を使用する方法が一番分かりやすいかと思います。
+演算子を使用する場合、str()
を使用して文字列に変換しなければ連結できない点にご注意ください。
コメント