発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
Pythonにおけるデータ型の定義(指定)方法
変数名を付けた後に、通常は代入という変数に対して値を設定する処理をします。Pythonでは、その際に代入した値によって変数のデータ型(数値、文字列など、どのようなタイプのデータか)が決まります。
例えば変数testに対して文字列'abc'を代入すると、
変数testのデータ型はstr(文字列)になり、
一方で、変数testに対して整数6を代入すると、
変数testのデータ型はint(整数)になります。
Pythonにおけるデータ型の種類一覧
Pythonの主なデータ型は以下になります。
データ型 | 説明 | 記述例 | |
str | 文字列 | 文字、文字列 " " ダブルクォーテーション、もしくは' ' シングルクォーテーションで囲って定義する。 | str = 'abc' |
int | 整数 | 小数点を含まない数値 | num = 6 |
float | 浮動小数点 | 小数点を含む数値 | num = 3.14 |
bool | ブール | True、Falseで定義する。 | check_flg = True check_flg = False |
datetime | 日付 | 日付 | date1 = datetime.datetime(2020, 1, 31, 12, 36, 45) |
list | 配列 | 1.複数の要素(文字列、整数、論理など)を含むもの。 2.[ ] を使って定義し、各要素の間はカンマ','で区切る。 3.格納した各要素の変更が可能。 | list = ['abc', 6, True] |
tuple | タプル | 1.複数の要素(文字列、整数、論理など)を含むもの。 2.( ) を使って定義し、各要素の間はカンマ','で区切る。 3.格納した各要素の変更は不可能。 | tuple = ('abc', 6, True) |
dictionary | 辞書 | 1.複数の要素(文字列、整数、論理など)を含むもの。 2.{ }を使って定義し、各要素は、キーと組合せて間にコロン':'を挟み記述する。 3.キー値と合わせて値を設定することにより、キー値を元に値を参照できる。 4.格納した各要素の変更は可能。 | dict = {'Key1' : 'Val1', 'Key2' : 'Val2'} |
list、tuple、dictionaryについては、それぞれ後の章で詳しく解説しますので、
・listは、「リスト(List)/配列の使い方」
・tupleは、「タプル(Tuple)の使い方」
・dictionaryは、「Dictionary(辞書)の使い方」
を参照ください。
また、Pythonには上記以外にも多くのデータ型があり、特にndarray、Series、DataFrameなどのデータ型は後の章でも利用します。これらについても、
・ndarrayは、「NumPyのインストールから使い方徹底解説」
・Series、DataFrameは、「Pandasでデータ分析」
を参照ください。
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
Pythonにおけるデータ型の確認方法
データ型を調べる時は、type()を利用します。
type()は、引数に指定した変数などのオブジェクトのデータ型を返します。
例えば、変数testに対して文字列'abc'を代入し、type()で変数testのデータ型を確認すると、以下のようにstr(文字列)型が返ってきます。
1 2 | test = "abc" type(test) |
同様に、変数testに対して浮動小数点3.14を代入し、type()で変数testのデータ型を確認すると、以下のようにfloat(浮動小数点)型が返ってきます。
1 2 | test = 3.14 type(test) |
Pythonでのデータ型の変換方法
整数int型から文字列str型への変換
数値から文字列型への変換には、str()を利用します。
引数の数値には、整数int型や浮動小数点float型を指定することができます。そして、str()は、引数に指定した数値を文字列に変換し返します。
例として、整数30を文字列’30’に変換してみましょう。
変数num1に対して整数30を代入し、type()で変数num1のデータ型を確認すると、int(整数)型が返ってきます。
1 2 | num1 = 30 type(num1) |
この変数num1をstr()に渡すと、’30’と’(シングルクォーテーション)で囲まれ、文字列に変換されて表示されました。
1 | str(num1) |
実際にtype()でデータ型を確認すると、str(文字列)型に変換されていることがわかります。
1 | type(str(num1)) |
浮動小数点float型から文字列str型への変換
浮動小数点も整数と同様に文字列型への変換には、str()を利用します。
例として、浮動小数点30.45を文字列’30.45’に変換します。
変数num2に対して浮動小数点30.45を代入し、type()で変数num2のデータ型を確認すると、float(浮動小数点)型が返ってきます。
1 2 | num2 = 30.45 type(num2) |
この変数num2をstr()に渡すと、’30.45’と文字列に変換されて表示されました。
1 | str(num2) |
type()でデータ型を確認すると、str(文字列)型に変換されていることがわかります。
1 | type(str(num2)) |
文字列str型から整数int型への変換
文字列からint(整数)型への変換には、int()を利用します。
引数の文字列には、int型になり得る文字列を指定します。そして、int()は、引数に指定した文字列をint型に変換し返します。
例として、文字列’34’を整数34に変換してみましょう。
変数str1に対して文字列’34’を代入し、type()で変数str1のデータ型を確認すると、str(文字列)型が返ってきます。
1 2 | str1 = ‘34’ type(str1) |
この変数str1をint()に渡すと、34と’(シングルクォーテーション)が無くなり、整数に変換されて表示されました。
1 | int(str1) |
実際にtype()でデータ型を確認すると、int(整数)型に変換されていることがわかります。
1 | type(int(str1)) |
文字列str型から浮動小数点float型への変換
文字列からfloat(浮動小数点)型への変換には、float()を利用します。
引数の文字列には、float型になり得る文字列を指定します。そして、float()は、引数に指定した文字列をfloat型に変換し返します。
例として、文字列’32.18’を浮動小数点32.18に変換してみましょう。
変数str2に対して文字列’32.18’を代入し、type()で変数str2のデータ型を確認すると、str(文字列)型が返ってきます。
1 2 | str2 = ’32.18’ type(str2) |
この変数str2をfloat()に渡すと、32.18と’(シングルクォーテーション)が無くなり、浮動小数点に変換されて表示されました。
1 | float(str2) |
実際にtype()でデータ型を確認すると、float(浮動小数点)型に変換されていることがわかります。
1 | type(float(str2)) |
日付datetime型から文字列str型への変換
datatime(日付)型から文字列への変換には、strftimeを利用します。
strftimeでは、datetimeで指定された日付を引数のフォーマットで文字列型に変換し返します。
例として、日付2020/1/31 12:36:45を文字列'2020/01/31 12:36:45'に変換してみましょう。
まずはdatetimeをインポートします。そして、datetime.datetime()に対して、引数として、年、月、日、時、分、秒を渡し、変数date1に格納します。変数date1の内容を確認します。
1 2 3 | import datetime date1 = datetime.datetime(2020,1,31,12,36,45) date1 |
datetime.datetime()と日付型でデータが表示されました。
さらにtype()で変数date1のデータ型を確認すると、datetime.datetimeと表示され、日付型でデータが格納されていることがわかります。
1 | type(date1) |
この変数date1をstrftime()で文字列に変換します。その際にフォーマットとして"%Y/%m/%d %H:%M:%S"を指定します。
1 | date1.strftime("%Y/%m/%d %H:%M:%S") |
すると、先ほどの日付型のデータが'2020/01/31 12:36:45'と文字列に変換されて表示されました。
type()でデータ型を確認すると、strと表示され、文字列型になっていることがわかります。
1 | type(date1.strftime("%Y/%m/%d %H:%M:%S")) |
文字列str型から日付datetime型への変換
文字列からdatatime(日付)型への変換には、strptimeを利用します。
strptimeでは、最初の引数で指定された日付形式の文字列をdatetime型に変換します。もう1つの引数は、日付形式の文字列のフォーマットを指定します。
例として、今度は、文字列'2020/01/31 12:36:45'を日付型の2020/1/31 12:36:45に変換してみましょう。
変数str1に日付の形式で文字列を格納します。さらにtype()で変数str1のデータ型を確認すると、strと表示され、文字列型でデータが格納されていることがわかります。
1 2 | str1 = '2020/01/31 12:36:45' type(str1) |
この変数str1をstrptime()で日付型に変換します。その際にフォーマットとして"%Y/%m/%d %H:%M:%S"を指定します。
1 | datetime.datetime.strptime(str1, '%Y/%m/%d %H:%M:%S') |
先ほどの文字列型のデータが日付型に変換されて表示されました。
type()でデータ型を確認すると、datetime.datetimeと表示され、日付型になっていることがわかります。
1 | type(datetime.datetime.strptime(str1, '%Y/%m/%d %H:%M:%S')) |
関連記事です。
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。