スライドショー

【Python入門】さまざまな型変換の方法をわかりやすく解説!

文字列や数値、日付の型を扱っていると、以下のような場面に直面することもあるかと思います。

数値 ⇔ 文字列に変換したい
文字列 ⇔ 日付に変換したい

そこで今回はPythonでできる型変換について、以下の内容を解説していきます。

  • 数値 ⇔ 文字列の変換
  • 文字列 ⇔ 日付(date)の変換

数値や文字列、日付の変換は実際によく使われますのでこの機会にしっかりと理解しておきましょう。

数値 ⇔ 文字列の変換

ここでは数値と文字列の相互変換について見ていきましょう。

文字列から数値の変換

演算処理を実行するとき、数値と数値の演算は可能ですが、数値と文字列(String)の演算はできません。たとえば、外部ファイルやデータベースから取得した数値の値が文字列だった場合、そのまま演算しようとして「TypeError」が発生してしまいます。

num1  = 10
num2 = '20'

print(num1 + num2)

実行結果:

~
TypeError: unsupported operand type(s) for +: 'int' and 'str'

そのため、文字列型の数値を演算に使用する場合は、文字列の数値を数値型に型変換することで演算が可能になります。文字列をint型に変換してみましょう。

サンプルプログラム:

num1  = 10
num2 = '20'

print(num1 + int(num2))

実行結果:

30

文字列の数値が格納されているnum2をint()の引数に指定「int(num2」することによって、演算することが可能になりました!なお、型変換されたか確認するためにはtype関数を使用すると便利です。

サンプルプログラム:

num  = '10'

print(type(int(num2)))

実行結果:

<class 'int'>

type関数については、以下の記事で詳しく解説しています!

文字列から浮動小数点数に変換

浮動小数点数の文字列を前述したintで数値に変換しようとすると、「ValueError」のエラーが発生します。これは変換時に文字列の中に小数点を表すピリオド「.」やカンマ「,」などが含まれていることによるものです。

そのため、浮動小数点数の文字列をfloat型に変換するためにはfloat()を使用します。サンプルプログラム:

num1  = 10
num2 = '20.123'

print(num1 + float(num2))

実行結果:

30.123

数値から文字列の変換

数値から文字列へ変換する場合はstr()を使用します。

サンプルプログラム:

num1  = 10
num2 = 30

print(str(num1) + str(num2))

実行結果:

1030

このようにstr()の引数に数値型を指定することで、文字列に変換が可能です。

文字列 ⇔ 日付(date)の変換

日付から文字列の変換

datetimeで取得した値を日付型として扱いたい場合は文字列型として扱いたい場合もあります。日付型から文字列型へ変換するには、datetimeで日付を取得したあと、strftimeを使用して、引数に文字列で取得するためのフォーマットを指定することで文字列に変換することが可能です。

サンプルプログラム:

import datetime

date = datetime.datetime.now()
sdate = date.strftime('%Y/%m/%d %H:%M:%S')

print(sdate)
print(type(sdate))

実行結果:

2018/07/24 01:30:48
<class 'str'>

ここではstrftimeの引数で「yyyy-mm-dd hh:mm:ss」の形式でフォーマットを指定しています。

文字列から日付の変換

続いて文字列の日付から、日付型へ変換する方法を見ていきましょう。以下のサンプルをご覧ください

サンプルプログラム:

import datetime

sdate = '2018-07-24 01:30:23'
date = datetime.datetime.strptime(sdate, '%Y-%m-%d %H:%M:%S')
 
print(type(date))

実行結果:

<class 'datetime.datetime'>

strptimeの引数に文字列の日付とフォーマットを指定することで日付型への変換が可能になります。

まとめ

ここではPythonの型変換について解説しました。

  • 数値 ⇔ 文字列の変換
  • 文字列 ⇔ 日付(date)の変換

数値と文字列の相互変換や文字列と日付の相互変換などは、システムやアプリケーションを作る上で、必要なこともありますので変換方法については理解しておきましょう。もし、型変換の方法を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

侍テック編集部

侍テック編集部