Pythonで数値を文字列に変換する方法!str()とformat()の使い方
生徒
「Pythonで数字を文字に変えたいんですけど、どうすればいいですか?」
先生
「数字を文字列に変換するには、str()
関数やformat()
メソッドを使いますよ。」
生徒
「それってどういうときに使うんですか?」
先生
「たとえば、数値と文字を一緒に表示したいときや、計算結果を文章の中に入れたいときですね。では、詳しく見ていきましょう!」
1. str()関数とは?
Pythonでは、数値(整数や小数など)を文字列に変換するにはstr()
という関数を使います。関数とは「決まった処理をする命令」のことです。
number = 123
text = str(number)
print(text)
print(type(text))
123
<class 'str'>
このように、数値の123
が文字列に変換されて'123'
になります。type()
関数で型を確認すると、str
(文字列)であることがわかります。
2. 数値と文字列を結合したいとき
Pythonでは、文字列と数値をそのままつなげることはできません。まず数値をstr()
で文字列に変換する必要があります。
age = 20
message = "年齢は" + str(age) + "歳です"
print(message)
年齢は20歳です
このように、str(age)
で数値を文字列に変換することで、文章とつなげることができます。
3. format()メソッドとは?
format()
メソッドは、文字列の中に変数の値を埋め込む方法の一つです。{}
の中に、後から値を入れる形になります。
age = 25
text = "私は{}歳です".format(age)
print(text)
私は25歳です
{}
の部分にage
の値が自動的に入ります。数値を文字列に変換する手間がなく、読みやすい書き方です。
4. 複数の数値を同時に入れる
format()
を使うと、複数の変数も一度に扱えます。
name = "太郎"
age = 30
message = "名前は{}で、年齢は{}歳です".format(name, age)
print(message)
名前は太郎で、年齢は30歳です
変数の数と{}
の数を合わせれば、何個でも差し込むことができます。
5. 書式を整える:小数点の表示
小数点のある数値(たとえば価格や計算結果)を扱うときには、format()
を使って表示を整えることができます。
price = 1234.56789
text = "価格は{:.2f}円です".format(price)
print(text)
価格は1234.57円です
:.2f
という書き方で、小数点以下2桁までに調整できます。お金の金額や割合などでよく使われます。
6. 文字列に変換した数値を保存・加工する
数値を文字列に変換すると、ファイルに保存したり、文章として画面に出力したり、SNS投稿用の文を作ったりと、いろんな使い方ができます。
temperature = 26.3
message = "今日の気温は" + str(temperature) + "度です"
print(message)
今日の気温は26.3度です
このように、実際の数値をわかりやすく表示するためには、数値を文字列に変換する操作がとても大切になります。
7. format()の応用:順番を指定する
format()
では、{0}
や{1}
のように数字で順番を指定することもできます。
text = "{1}と{0}が逆になります".format("左", "右")
print(text)
右と左が逆になります
位置を自由に指定できるので、使い方によってはとても便利です。
8. f文字列(f-string)もおすすめ
Python 3.6以降では、f"文字列"
という新しい書き方もあります。これは、{}
の中に直接変数を書くだけで、読みやすくて書きやすい方法です。
name = "花子"
age = 22
text = f"名前は{name}、年齢は{age}歳です"
print(text)
名前は花子、年齢は22歳です
f文字列
は、str()
やformat()
よりもシンプルに書けるため、最近のPythonではよく使われています。