pythonの文字列定数の連結

Pythonの文字列定数の連結方法について


Pythonでは少し変わった文字列定数の連結ルールがあり、2つの文字列定数の間に空白または改行しか存在しない場合、2つの文字列は連結されます。

print("hello" " world")   # 文字列定数の間がスペースのみであれば連結される
print("hello" ' world')   # シングルとダブルコーテーションでも連結可能
print("hello"
      " world")           # 改行されていてもOK

print(r"\h\e\l\lo" " world") # raw文字列との連結もOK
i = 1
print(f"Hello No.#{i}" "world")  # f文字列との連結もOK

wstr = " world"
print("Hello" wstr)  # これはNG
print("Hello" + wstr)  # これは+オペレータで連結しているのでOK

連結は実行時ではなく、コンパイル時に行われます。そのため最後の例にあるように、文字列と変数の連結は (たとえ変数が文字列を格納していたとしても) NGです

異なる種別の文字列定数の連結はどこまで有効かはよくわかりませんが、長すぎる文字列をコーディングガイドに定めれた文字数に見やすく分割するのに有効だと思います

おすすめ