Pythonで文字列と整数を連結する方法

はじめに

Pythonでは、+演算子を使って文字列の連結がサポートされています。ほとんどの他のプログラミング言語では、文字列と整数(または他のプリミティブなデータ型)を連結する場合、言語が自動的にそれらを文字列に変換してから連結します。

ただし、Pythonでは、+演算子を使用して文字列と整数を連結しようとすると、実行時エラーが発生します。

例えば

「+」演算子を使用して文字列(str)と整数(int)を連結する例を見てみましょう。

string_concat_int.pyを日本語で言い換えると、以下のようになります:文字列結合整数.py
current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

以下のプログラムを実行すると、”Year is 2018″という文字列が出力されることが期待されています。しかし、実際に実行するとランタイムエラーが発生します。

Traceback (most recent call last):
  File "/Users/sammy/Documents/github/scdev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
    print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str

Pythonでは、strとintをどのように連結しますか?この操作を行うためのさまざまな他の方法があります。

前提条件

このチュートリアルを完了するためには、以下が必要です:

  • Familiarity with installing Python 3. And familiarity with coding in Python. How to Code in Python 3 series or using VS Code for Python.

このチュートリアルはPython 3.9.6でテストされました。

str()関数を使用する

str()関数にintを渡すことができます。渡されたintはstrに変換されます。

print(current_year_message + str(current_year))

現在の年の整数が文字列として返されます。2018年です。

%インターポレーション演算子を使用する

printfスタイルの文字列フォーマットを使用して、変換仕様に値を渡すことができます。

print("%s%s" % (current_year_message, current_year))

現在の年( current_year)は整数から文字列に変換されます。年は2018です。

str.format()関数を使う

私たちは、文字列と整数の連結にはstr.format()関数も使用できます。

print("{}{}".format(current_year_message, current_year))

現在の年(current_year)は整数型から文字列型に強制変換されます:年は2018年です。

f-stringsを使用する

Python 3.6以上のバージョンを使用している場合は、f-stringsも使用できます。

print(f'{current_year_message}{current_year}')

現在の年の整数は文字列に補完されます。「年は2018年です。」

結論

弊社のGitHubレポジトリから、完全なPythonスクリプトや他のPythonのサンプルをチェックすることができます。

コメントを残す 0

Your email address will not be published. Required fields are marked *