文字列を結合または連結する際に、Pythonでは時にエラーが発生することがあります。
特に、数値と文字列を連結しようとすると「TypeError: can only concatenate str (not “int”) to str」というエラーがよく見られます。
この記事では、このエラーが発生する原因とその対処法について解説します。
文字列結合時のエラー例
以下のようなコードを考えてみます。
TEST = 'hoge2' msg = 'hoge1 ' TEST print(msg)
このコードを実行すると、次のようなエラーが発生します。
msg = 'hoge1 ' TEST ^ SyntaxError: invalid syntax
このエラーは、Pythonが予期せぬ構文(invalid syntax)を検出したことを示しています。
これは、文字列結合の際に間違った構文を使用したためです。
文字列結合できない時の対処法
正しいPythonの構文では、文字列を結合するには + 演算子を使用し、
変数を結合するには変数名を + 演算子の両側に配置する必要があります。
正しいコードは次のとおりです。
TEST = 'hoge2' msg = 'hoge1 ' + TEST print(msg)
これにより、msg 変数には ‘hoge1 hoge2’ という文字列が代入され、その後 print() 関数で出力されます。
エラーが発生した場合は、コードを確認して正しい構文を使用しているかどうかを確認し、必要に応じて修正してください。
広告
数値と文字列連結時の記述
エラーを解決するためには、数値を文字列に変換する必要があります。
これには、str()関数を使用します。
number = 10 string = "The number is " + str(number) print(string)
上記の例では、数値numberを文字列に変換してから連結しています。
これにより、エラーなく文字列が連結されます。
広告
まとめ
文字列結合時のエラーが発生する場合、構文を正しく修正することで問題を解決できます。
+ 演算子を使用して文字列を結合し、変数と文字列を組み合わせる際には適切な構文を使用しましょう。