このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】型を変換する方法

型を変換する方法

 Pythonプログラミングにおいて、データ型(整数型、浮動小数点数型、文字列型、真偽値型など)の適切な扱いは、正確な計算やデータ処理を行う上で非常に重要です。これまでに学んだ異なる型の値を効果的に活用するためには、型変換(データ型の変更)が欠かせません。ここでは、Pythonの組み込み関数である intfloatstrbool を使用して、異なるデータ型間で値を変換する方法について詳しく解説します。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.型変換の重要性と基本概念

 プログラムを書く際、異なるデータ型を扱う場面は多岐にわたります。例えば、ユーザーからの入力は通常文字列として受け取りますが、これを数値計算に利用するためには型変換が必要です。型変換を正しく行うことで、意図しないエラーを防ぎ、プログラムの信頼性を高めることができます。

ポイント

  • 異なる型のデータを適切に変換することで、計算やデータ処理を正確に行える。
  • 型変換を意識することで、コードの可読性とメンテナンス性が向上する。

2.主な型変換関数とその使い方

 Pythonには、値の型を変更するための組み込み関数が用意されています。以下の表に、主要な型変換関数とその用途、使用例をまとめました。

関数主な用途説明
int()数値や文字列を整数(int)に変換int(4.7) → 4int("123") → 123小数点以下は切り捨てられ、文字列は数値として解釈される。
float()数値や文字列を浮動小数点数(float)に変換float("3.14") → 3.14float(7) → 7.0文字列が数値形式でない場合、エラーが発生する。
str()値を文字列(str)に変換str(456) → "456"str(3.14) → "3.14"任意の型を文字列に変換し、表示や結合に利用できる。
bool()値を真偽値(bool)に変換bool(0) → Falsebool("Hello") → True0、空文字、空リストなどは False、その他は True に評価。

2.1. int()関数を使った変換

int()関数は、引数として与えられた値を整数型に変換します。小数点以下は切り捨てられます。

# 浮動小数点数から整数への変換
num_float = 9.99
num_int = int(num_float)
print(num_int)  # 出力: 9

# 文字列から整数への変換
num_str = "256"
num_int = int(num_str)
print(num_int)  # 出力: 256

出力結果

9
256

注意点

  • 文字列が数値形式でない場合、ValueError が発生します。

2.2. float()関数を使った変換

float()関数は、引数として与えられた値を浮動小数点数型に変換します。

# 整数から浮動小数点数への変換
num_int = 42
num_float = float(num_int)
print(num_float)  # 出力: 42.0

# 文字列から浮動小数点数への変換
num_str = "3.1415"
num_float = float(num_str)
print(num_float)  # 出力: 3.1415

出力結果

42.0
3.1415

注意点

  • 文字列が数値形式でない場合、ValueError が発生します。

2.3. str()関数を使った変換

str()関数は、任意の型の値を文字列型に変換します。

# 整数から文字列への変換
num_int = 100
num_str = str(num_int)
print(num_str)  # 出力: "100"

# 浮動小数点数から文字列への変換
num_float = 6.28
num_str = str(num_float)
print(num_str)  # 出力: "6.28"

出力結果

100
6.28

利用例

  • 計算結果をユーザーに表示する際に便利です。
  • 文字列の結合やフォーマットに利用できます。

2.4. bool()関数を使った変換

bool()関数は、引数として与えられた値を真偽値型に変換します。以下のルールに従います:

  • False と評価される値
    0, 0.0, ""(空文字列)、[](空リスト)、{}(空辞書)など。
  • True と評価される値
    非ゼロの数値、非空の文字列、リスト、辞書など。
# 数値から真偽値への変換
print(bool(0))    # 出力: False
print(bool(7))    # 出力: True

# 文字列から真偽値への変換
print(bool(""))   # 出力: False
print(bool("Yes"))# 出力: True

出力結果

False
True
False
True

注意点

  • 型によって変換結果が異なるため、期待する結果を得るためには事前に値の型を確認することが重要です。

3.型変換を使った応用例

例1:ユーザー入力を数値に変換して計算

# ユーザーからの入力を受け取り、合計を計算するプログラム
num1_str = input("1つ目の数字を入力してください: ")
num2_str = input("2つ目の数字を入力してください: ")

# 文字列を整数に変換
num1 = int(num1_str)
num2 = int(num2_str)

total = num1 + num2
print("合計は", total, "です。")

出力結果

1つ目の数字を入力してください:  15
2つ目の数字を入力してください:  30
合計は 45 です。

例2:浮動小数点数から整数への変換と切り捨て

# 浮動小数点数を整数に変換して表示する例
num_float = 7.89
num_int = int(num_float)
print("浮動小数点数", num_float, "を整数に変換すると", num_int, "になります。")

実行結果

浮動小数点数 7.89 を整数に変換すると 7 になります。

例3:複数型の値を文字列に変換して表示

# 異なる型の値を文字列に変換してメッセージを作成
name = "太郎"
age = 28
height = 175.5

message = name + "さんは、" + str(age) + "歳で、身長は" + str(height) + "cmです。"
print(message)

実行結果

太郎さんは、28歳で、身長は175.5cmです。

まとめ

ここでは、Pythonにおける型変換の基本について学びました。

  • 型変換関数として、int(), float(), str(), bool() を用いて、異なるデータ型間で値を変換する方法を習得しました。
  • 型変換の重要性を理解し、プログラム内で適切に型を切り替えることで、正確な計算やデータ処理が可能になることを確認しました。

 次のコンテンツでは、mathライブラリ(mathモジュール)について詳しく解説していきます。math モジュールを活用することで、さらに高度な数値計算や型変換を効率的に行えるようになります。ぜひ、実際にコードを書きながら、型変換と math モジュールの活用方法を体験してみてください。