Pythonでデータ型を習得するための5つのキャスト方法

Pythonでデータ型を習得するための5つのキャスト方法の図 Python
この記事は約9分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればサンプルコードを活用して機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

プログラミング言語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になります。

num_float = 7.9
num_int = int(num_float)
print(num_int)  # 出力:7

この結果から分かるように、float型からint型へのキャストでは、小数部分が切り捨てられ、整数部分だけが取得されます。

○サンプルコード2:str型からint型へのキャスト

次に、文字列型から整数型へのキャストを行います。

ここでは、”123″という文字列を整数の123に変換します。

str_num = "123"
num_int = int(str_num)
print(num_int)  # 出力:123

ただし、このキャストが成功するのは、文字列が整数に変換可能なものである場合だけです。

例えば、”123.45″や”abc”のような文字列はint型に変換できません。

●float()関数:浮動小数点型へのキャスト

○float()関数の基本

浮動小数点型へのキャストはfloat()関数を使用します。

float()関数は整数型や文字列型を浮動小数点型に変換します。

○サンプルコード3:int型からfloat型へのキャスト

このコードでは、int型の数字7をfloat型に変換するコードを紹介しています。

この例では、7が浮動小数点型にキャストされて7.0になります。

num_int = 7
num_float = float(num_int)
print(num_float)  # 出力:7.0

この結果から分かるように、int型からfloat型へのキャストでは、整数がそのまま浮動小数点数として扱われます。

○サンプルコード4:str型からfloat型へのキャスト

次に、文字列型から浮動小数点型へのキャストを行います。

ここでは、”123.45″という文字列を浮動小数点数の123.45に変換します。

str_num = "123.45"
num_float = float(str_num)
print(num_float)  # 出力:123.45

しかし、このキャストが成功するのは、文字列が浮動小数点数に変換可能なものである場合だけです。

例えば、”abc”のような文字列はfloat型に変換できません。

●str()関数:文字列型へのキャスト

○str()関数の基本

文字列型へのキャストはstr()関数を使用します。

str()関数は整数型や浮動小数点型を文字列型に変換します。

○サンプルコード5:int型からstr型へのキャスト

このコードでは、int型の数字7をstr型に変換するコードを紹介しています。

この例では、7が文字列型にキャストされて”7″になります。

num_int = 7
str_num = str(num_int)
print(str_num)  # 出力:"7"

この結果から分かるように、int型からstr型へのキャストでは、整数がそのまま文字列として扱われます。

○サンプルコード6:float型からstr型へのキャスト

次に、浮動小数点型から文字列型へのキャストを行います。

ここでは、浮動小数点数の123.45を文字列の”123.45″に変換します。

float_num = 123.45
str_num = str(float_num)
print(str_num)  # 出力:"123.45"

浮動小数点数も同様に、そのまま文字列として扱われます。

●bool()関数:ブール型へのキャスト

○bool()関数の基本

ブール型へのキャストはbool()関数を使用します。

このbool()関数は、他のデータ型(整数型、浮動小数点型、文字列型等)をブール型(TrueまたはFalse)に変換します。

○サンプルコード7:int型からbool型へのキャスト

このコードでは、int型の数字1をbool型に変換するコードを紹介しています。

この例では、1がブール型にキャストされてTrueになります。

num_int = 1
bool_value = bool(num_int)
print(bool_value)  # 出力:True

この結果から分かるように、int型からbool型へのキャストでは、非零の整数はすべてTrueになります。ゼロはFalseになります。

○サンプルコード8:str型からbool型へのキャスト

次に、文字列型からブール型へのキャストを行います。

ここでは、非空の文字列 “Hello” をブール型のTrueに変換します。

str_value = "Hello"
bool_value = bool(str_value)
print(bool_value)  # 出力:True

しかし、このキャストが成功するのは、文字列がブール型に変換可能なものである場合だけです。空文字列はFalseになります。

●complex()関数:複素数型へのキャスト

○complex()関数の基本

複素数型へのキャストはcomplex()関数を使用します。

このcomplex()関数は、他のデータ型(整数型、浮動小数点型等)を複素数型に変換します。

○サンプルコード9:int型からcomplex型へのキャスト

このコードでは、int型の数字3をcomplex型に変換するコードを紹介しています。

この例では、3が複素数型にキャストされて3+0jになります。

num_int = 3
complex_num = complex(num_int)
print(complex_num)  # 出力:(3+0j)

この結果から分かるように、int型からcomplex型へのキャストでは、整数がそのまま実数部として複素数になり、虚数部は0になります。

○サンプルコード10:float型からcomplex型へのキャスト

次に、浮動小数点型から複素数型へのキャストを行います。

ここでは、浮動小数点数の3.14を複素数の3.14+0jに変換します。

float_num = 3.14
complex_num = complex(float_num)
print(complex_num)  # 出力:(3.14+0j)

浮動小数点数も同様に、そのまま実数部として複素数になり、虚数部は0になります。

●各キャスト関数の注意点と対処法

Pythonでの型変換は非常に直感的で簡単ですが、次のような注意点があります。

  1. int(), float()は数値に変換可能な文字列のみを引数に取れます。
    それ以外の文字列を引数に取るとエラーが発生します。
  2. bool()関数は、空文字列や0、空のリストや辞書などをFalseと評価します。
    これはPythonの「Falsy(偽と評価される)」値という概念に基づいています。
  3. complex()関数は、実数部と虚数部の両方を引数に取ることができます。
    ただし、虚数部は浮動小数点数または整数でなければなりません。

これらの注意点を理解し、適切に対処することで、エラーを防ぐことができます。

●各キャスト関数の応用例

次に、リスト全体を別の型にキャストするような実用的な例を見てみましょう。

○サンプルコード11:数値のリストを文字列のリストに変換

このコードでは、数値のリストを文字列のリストに変換する例を示しています。

ここでは、map関数を使ってリストの各要素をstr関数に適用し、結果として得られる新しいリストを生成しています。

numbers = [1, 2, 3, 4, 5]
str_list = list(map(str, numbers))
print(str_list)  # 出力:['1', '2', '3', '4', '5']

○サンプルコード12:真偽値のリストを整数のリストに変換

次に、真偽値のリストを整数のリストに変換する例を示します。

ここでもmap関数を使用しています。

bool_list = [True, False, True, True, False]
int_list = list(map(int, bool_list))
print(int_list)  # 出力:[1, 0, 1, 1, 0]

この結果から、Trueが1に、Falseが0にキャストされたことが分かります。

○サンプルコード13:文字列のリストを複素数のリストに変換

最後に、文字列のリストを複素数のリストに変換する例を見てみましょう。

str_list = ['1', '2', '3']
complex_list = list(map(complex, str

_list))
print(complex_list)  # 出力:[(1+0j), (2+0j), (3+0j)]

文字列のリストが複素数のリストに変換され、それぞれの要素が実数部として使用され、虚数部は0となりました。

まとめ

Pythonでのデータ型のキャストは、プログラミングで重要なスキルです。

適切な型変換は、データの形式を適応させて問題を解決するための道具となります。

今回紹介した5つのキャスト方法は、Pythonを使ったプログラミングで頻繁に遭遇するタスクで、それぞれの関数の基本的な使い方と注意点を理解することは重要です。

また、これらのキャスト関数を使った応用例も参考にして、自身のコードで効率的に利用してください。