【基礎をマスターしよう!】Pythonで文字列を数値に変換する方法

今日の記事では、文字列型と数値を相互する方法を簡単にまとめました!

「数値と文字列を相互に変換したい」
「文字列を数値に変換しようとしたら、エラーが出てしまった」

などといったお悩みの方へ向けて、

【基礎】なぜ変換が必要なの?
【基礎】文字列型と数値を変換する方法
【応用】int型とfloat型
【応用】16進数への変換
【応用】リストの値を変換する方法

といった内容で解説致します。

本記事で簡単な型変換は一通りできますので、ぜひ最後までお付き合いください!

※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。

なぜ変換が必要なの?

まずはじめに、以下の例をご確認ください

print("Hello python" + 3)

"Hello python3"と表示することを期待しているのですが、これを実行しようとすると、以下のようなエラーが発生してしまいます。

TypeError: cannot concatenate 'str' and 'int' objects

これは、文字列型と数値をそのまま結合させようとした場合のエラーです。

こういった時、型変換を行うことで問題を解決する事ができます。

型変換を行うことで、文字列型や数値型それぞれでしかできない処理をきちんと実行できるようになるのです。

以降では、その具体的な方法を紹介していきます。

文字列型と数値を変換する方法

まずはじめに、文字列型と数値を変換する方法を紹介します。

手順は簡単、文字列にしたい値をstr()で囲い、数値にしたい文字列をint()で囲うだけです。

実際に先ほどの例をエラーが起きないように変換してみましょう。

print("Hello python" + str(3))

これで数値の3を文字列の"3"に変換できます。

実行結果:

Hello python3

今度は、文字列を数値に変換する例を確認しましょう。

val1 = 10
val2 = "20"

print(val1 + int(val2))

これで、文字列の"20"を数値の20に変換できます。

実行すると、計算ができるようになります。

実行結果:

30

int型とfloat型

str型とint型の変換方法がわかったところで、以下の例をご覧ください。

val = "1.0"

print(int(val))

こちらを実行するとどのようになるでしょうか?

数値の「1.0」になることを期待してしまいますが、実はエラーとなってしまいます。

実行結果:

ValueError: invalid literal for int() with base 10: '1.00'

int型は浮動小数を表現することはできないのです。

ここで登場するのがfloat型です。

float型はint型同様、数値を表す型ですが、float型は浮動小数を扱う為の型です

文字列(str)型から変換する時は、int()と同じようにfloat()に値を入れることで変換できます。

val = "1.0"

print(float(val))

実行結果:

1.0

リストの値を変換する方法

一通り文字列と数値の変換が理解できたところで、実際に型変換を扱う例を紹介いたします。

csvファイルなどから値を取得し、以下のようなリストができたとしましょう。

["10", "20", "30", "40", "50"]

このリストは文字列型で格納されていますね。

これを数値に変換してみましょう。

実装例:

ls = ["10", "20", "30", "40", "50"]
print(ls)

ls = [int(i) for i in ls] # ここでリストの中の値をint型へ変換しています。
print(ls)

実行結果:

['10', '20', '30', '40', '50']
[10, 20, 30, 40, 50]

型変換ができました。

もちろんstr, int, floatの相互変換が可能です

まとめ

いかがでしたでしょうか?

今回の記事では、

【基礎】なぜ変換が必要なの?
【基礎】文字列型と数値を変換する方法
【応用】int型とfloat型
【応用】16進数への変換
【応用】リストの値を変換する方法

について紹介致しました。

この3つの型変換さえ覚えておけば、基礎としては十分やっていけるかと思います。

ぜひここで覚えて、今後に役立ててください!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

遠藤貴大

遠藤貴大

1991年生まれ。双子座。
理系大学で認証システムを学んだ後、アプリ開発者となる。
新しく学ぶ人に寄り添った記事を心がけて執筆します。
芸術が好き。いつか猫と暮らすのが夢。

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー