はじめに
プログラミング言語Pythonを学ぶ上で欠かせないのが「データ型」の理解とその変換(キャスト)方法です。
これはPython初心者にとっては大きな壁となることもあります。
本記事では、Pythonのデータ型を習得するための5つのキャスト方法を具体的なサンプルコードを交えて解説します。
それぞれのキャスト関数の使い方、注意点、応用例、カスタマイズ方法を詳細に解説しますので、Python初心者の方でも安心して学べます。
●Pythonのデータ型とキャストとは
Pythonでは、整数(int)、浮動小数点数(float)、文字列(str)、ブール(bool)、複素数(complex)など、様々なデータ型が存在します。
また、データ型を変換することを「キャスト」と呼びます。
例えば、整数を浮動小数点数に変換したり、文字列を整数に変換したりすることができます。
●int()関数:整数型へのキャスト
○int()関数の基本
整数型へのキャストはint()関数を用います。
int()関数は浮動小数点数や文字列を整数型に変換します。
○サンプルコード1:float型からint型へのキャスト
このコードでは、float型の数字7.9をint型に変換するコードを紹介します。
この例では、7.9が整数型にキャストされて7になります。
この結果から分かるように、float型からint型へのキャストでは、小数部分が切り捨てられ、整数部分だけが取得されます。
○サンプルコード2:str型からint型へのキャスト
次に、文字列型から整数型へのキャストを行います。
ここでは、”123″という文字列を整数の123に変換します。
ただし、このキャストが成功するのは、文字列が整数に変換可能なものである場合だけです。
例えば、”123.45″や”abc”のような文字列はint型に変換できません。
●float()関数:浮動小数点型へのキャスト
○float()関数の基本
浮動小数点型へのキャストはfloat()関数を使用します。
float()関数は整数型や文字列型を浮動小数点型に変換します。
○サンプルコード3:int型からfloat型へのキャスト
このコードでは、int型の数字7をfloat型に変換するコードを紹介しています。
この例では、7が浮動小数点型にキャストされて7.0になります。
この結果から分かるように、int型からfloat型へのキャストでは、整数がそのまま浮動小数点数として扱われます。
○サンプルコード4:str型からfloat型へのキャスト
次に、文字列型から浮動小数点型へのキャストを行います。
ここでは、”123.45″という文字列を浮動小数点数の123.45に変換します。
しかし、このキャストが成功するのは、文字列が浮動小数点数に変換可能なものである場合だけです。
例えば、”abc”のような文字列はfloat型に変換できません。
●str()関数:文字列型へのキャスト
○str()関数の基本
文字列型へのキャストはstr()関数を使用します。
str()関数は整数型や浮動小数点型を文字列型に変換します。
○サンプルコード5:int型からstr型へのキャスト
このコードでは、int型の数字7をstr型に変換するコードを紹介しています。
この例では、7が文字列型にキャストされて”7″になります。
この結果から分かるように、int型からstr型へのキャストでは、整数がそのまま文字列として扱われます。
○サンプルコード6:float型からstr型へのキャスト
次に、浮動小数点型から文字列型へのキャストを行います。
ここでは、浮動小数点数の123.45を文字列の”123.45″に変換します。
浮動小数点数も同様に、そのまま文字列として扱われます。
●bool()関数:ブール型へのキャスト
○bool()関数の基本
ブール型へのキャストはbool()関数を使用します。
このbool()関数は、他のデータ型(整数型、浮動小数点型、文字列型等)をブール型(TrueまたはFalse)に変換します。
○サンプルコード7:int型からbool型へのキャスト
このコードでは、int型の数字1をbool型に変換するコードを紹介しています。
この例では、1がブール型にキャストされてTrueになります。
この結果から分かるように、int型からbool型へのキャストでは、非零の整数はすべてTrueになります。ゼロはFalseになります。
○サンプルコード8:str型からbool型へのキャスト
次に、文字列型からブール型へのキャストを行います。
ここでは、非空の文字列 “Hello” をブール型のTrueに変換します。
しかし、このキャストが成功するのは、文字列がブール型に変換可能なものである場合だけです。空文字列はFalseになります。
●complex()関数:複素数型へのキャスト
○complex()関数の基本
複素数型へのキャストはcomplex()関数を使用します。
このcomplex()関数は、他のデータ型(整数型、浮動小数点型等)を複素数型に変換します。
○サンプルコード9:int型からcomplex型へのキャスト
このコードでは、int型の数字3をcomplex型に変換するコードを紹介しています。
この例では、3が複素数型にキャストされて3+0jになります。
この結果から分かるように、int型からcomplex型へのキャストでは、整数がそのまま実数部として複素数になり、虚数部は0になります。
○サンプルコード10:float型からcomplex型へのキャスト
次に、浮動小数点型から複素数型へのキャストを行います。
ここでは、浮動小数点数の3.14を複素数の3.14+0jに変換します。
浮動小数点数も同様に、そのまま実数部として複素数になり、虚数部は0になります。
●各キャスト関数の注意点と対処法
Pythonでの型変換は非常に直感的で簡単ですが、次のような注意点があります。
- int(), float()は数値に変換可能な文字列のみを引数に取れます。
それ以外の文字列を引数に取るとエラーが発生します。 - bool()関数は、空文字列や0、空のリストや辞書などをFalseと評価します。
これはPythonの「Falsy(偽と評価される)」値という概念に基づいています。 - complex()関数は、実数部と虚数部の両方を引数に取ることができます。
ただし、虚数部は浮動小数点数または整数でなければなりません。
これらの注意点を理解し、適切に対処することで、エラーを防ぐことができます。
●各キャスト関数の応用例
次に、リスト全体を別の型にキャストするような実用的な例を見てみましょう。
○サンプルコード11:数値のリストを文字列のリストに変換
このコードでは、数値のリストを文字列のリストに変換する例を示しています。
ここでは、map関数を使ってリストの各要素をstr関数に適用し、結果として得られる新しいリストを生成しています。
○サンプルコード12:真偽値のリストを整数のリストに変換
次に、真偽値のリストを整数のリストに変換する例を示します。
ここでもmap関数を使用しています。
この結果から、Trueが1に、Falseが0にキャストされたことが分かります。
○サンプルコード13:文字列のリストを複素数のリストに変換
最後に、文字列のリストを複素数のリストに変換する例を見てみましょう。
文字列のリストが複素数のリストに変換され、それぞれの要素が実数部として使用され、虚数部は0となりました。
まとめ
Pythonでのデータ型のキャストは、プログラミングで重要なスキルです。
適切な型変換は、データの形式を適応させて問題を解決するための道具となります。
今回紹介した5つのキャスト方法は、Pythonを使ったプログラミングで頻繁に遭遇するタスクで、それぞれの関数の基本的な使い方と注意点を理解することは重要です。
また、これらのキャスト関数を使った応用例も参考にして、自身のコードで効率的に利用してください。