Python float() 関数
float()は、Pythonで他の型のデータを浮動小数点数(小数)に変換するための組み込み関数です。
浮動小数点数は科学計算、データ分析、グラフィックス処理などの場面で非常に重要です。float()この関数を使うと、整数や文字列などを浮動小数点数型に変換できます。
単語の意味: float「浮動小数点」を意味し、コンピュータで小数を表す一つの方法です。
基本構文とパラメータ
float()は組み込み関数であり、直接呼び出すことができます。
構文形式
float(x)
パラメータの説明
- パラメータ x:
- 型:整数、文字列、または浮動小数点数に変換可能なその他のオブジェクト
- 説明:浮動小数点数に変換する値。一般的には数値文字列または整数です。
関数の説明
- 戻り値:浮動小数点数オブジェクトを返します。
- 特別な場合:
float()引数なしの場合は0.0を返します- 整数を浮動小数点数に変換すると、小数部分は.0になります
- 文字列"inf"または"infinity"は無限大を表します
- 文字列"nan"は非数(Not a Number)を表します
例
一連の例を通して、float()の使い方を理解しましょう。
例1:基本的な使い方 - 数値の変換
例
# 整数から変換
print(float(10)) # 出力: 10.0
print(float(-5)) # 出力: -5.0
# 文字列から変換
print(float("3.14")) # 出力: 3.14
print(float(" 2.5 ")) # 出力: 2.5(空白は自動的に除去されます)
# ブール値から変換
print(float(True)) # 出力: 1.0
print(float(False)) # 出力: 0.0
# 引数なし
print(float()) # 出力: 0.0
print(float(10)) # 出力: 10.0
print(float(-5)) # 出力: -5.0
# 文字列から変換
print(float("3.14")) # 出力: 3.14
print(float(" 2.5 ")) # 出力: 2.5(空白は自動的に除去されます)
# ブール値から変換
print(float(True)) # 出力: 1.0
print(float(False)) # 出力: 0.0
# 引数なし
print(float()) # 出力: 0.0
実行結果の予想:
10.0 -5.0 3.14 2.5 1.0 0.0 0.0
コードの解説:
- 整数を浮動小数点数に変換すると、自動的に.0の小数部分が追加されます。
- 文字列変換では、先頭と末尾の空白文字が自動的に除去されます。
- ブール値
Trueは1.0に変換され、Falseは0.0に変換されます。
例2:特殊な値 - 無限大とNaN
Pythonの浮動小数点数は、無限大とNaNの表現をサポートしています。
例
# 無限大
print(float("inf")) # 出力: inf
print(float("infinity")) # 出力: infinity
print(float("-inf")) # 出力: -inf
# NaN (Not a Number)
print(float("nan")) # 出力: nan
# 数学モジュールを使用して検証
import math
print(math.isinf(float("inf"))) # 出力: True
print(math.isnan(float("nan"))) # 出力: True
print(float("inf")) # 出力: inf
print(float("infinity")) # 出力: infinity
print(float("-inf")) # 出力: -inf
# NaN (Not a Number)
print(float("nan")) # 出力: nan
# 数学モジュールを使用して検証
import math
print(math.isinf(float("inf"))) # 出力: True
print(math.isnan(float("nan"))) # 出力: True
実行結果の予想:
inf infinity -inf nan True True
コードの解説:
- "inf"または"infinity"は正の無限大を表し、"-inf"は負の無限大を表します。
- "nan"は非数を表し、未定義または表現できない結果を示すためによく使用されます。
- 使用できるのは、
math.isinf()とmath.isnan()これらの特殊な値を検出するためです。
例3:数学計算での応用
例
# 整数の除算結果は自動的に浮動小数点数に変換されます
result = 7 / 2
print(result) # 出力: 3.5
print(type(result)) # 出力: <class 'float'>
# 浮動小数点数に強制変換して正確な計算を行う
a = 10
b = float(a) / 3
print(b) # 出力: 3.3333333333333335
# ユーザーが入力した小数を処理する
user_input = "3.14159"
pi = float(user_input)
print(f"円周率: {pi}") # 出力: 円周率: 3.14159
# 浮動小数点数の精度の問題
print(0.1 + 0.2) # 出力: 0.30000000000000004
result = 7 / 2
print(result) # 出力: 3.5
print(type(result)) # 出力: <class 'float'>
# 浮動小数点数に強制変換して正確な計算を行う
a = 10
b = float(a) / 3
print(b) # 出力: 3.3333333333333335
# ユーザーが入力した小数を処理する
user_input = "3.14159"
pi = float(user_input)
print(f"円周率: {pi}") # 出力: 円周率: 3.14159
# 浮動小数点数の精度の問題
print(0.1 + 0.2) # 出力: 0.30000000000000004
実行結果の予想:
3.5 <class 'float'> 3.3333333333333335 圆周率: 3.14159 0.30000000000000004
この例は、数学計算における浮動小数点数の応用と、浮動小数点数の精度問題の存在を示しています。
その他の拡張
Python3 組み込み関数