Pythonでは文字列に変数値を代入する方法は、2通りあります。
項目 | 内容 |
str() | 値をstr()型に変換してから代入する方法 |
format() | format()で値を代入する方法 |
ここでは、str()で文字列に変換してから代入する方法を紹介しています。
文字列と型
文字列と変数を結合して一緒に出力したい場合、型を合わせる必要があります。
演算ができる一例
- str()型 + str()型
- int()型 * int()型
- float()型 / float()型
これだけでは何を言っているのか分からないと思うので例を挙げます。
「代金は1000円です」という文字列を出力したい場合を考えてみます。条件としては1000はsumという変数とします。
失敗例
#文字列と数値を出力する場合の失敗例
sum = 1000
print("代金は" + sum + "円です")
「sum」はこのままでは出力できません。実行してみると以下のようなエラーが出ます。
TypeError: must be str, not int
これは型式が違うために出るエラーになります。エラーの内容は型が違うというものです。この場合「sum」を文字列に型式変換する必要があります。
成功例
#文字列と数値を出力する場合の成功例1
sum_pre = 1000
sum = str(sum_pre) #strで文字列に変換
print("代金は" + sum + "円です") #出力結果は「代金は1000円です」
数値を文字列に変換する場合は「str()」で囲うことで変換できます。言い換えると、型式を合わせることで連結できます。
これは数値を計算するときは、数値同士でなければならないことも意味しています。
逆に「str()型+int()型」等の型式が揃っていないものはエラーになります。ただし、int()型とfloat()型の演算は可能です。しかし、エラーが出ないため小数点以下を意識する数値解析等では注意が必要です。
ちなみに、型式が違うもの同士を出力したい場合、回避方法はもう1つあります。
#文字列と数値を出力する場合の成功例2
sum = 1000
print("代金は", sum, "円です")
「,」で区切ってあげて出力する方法です。これはあくまでも出力する際の回避方法ですので、文字列同士の演算では使用できません。
文字列中に数値を代入する方法としては、format()関数を用いる方法もあります。format()関数については以下をご参照下さい。
良く使用する型式
Pythonを扱う上で、良く使用する型式です。
型式 | 内容 |
str() | 文字列型に変換 |
float() | 浮動小数点型に変換 |
int() | 整数型に変換 |
本記事では「+」演算子を使用した文字列操作を紹介しました。「*」を用いた文字列の演算については以下をご参照下さい。