Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのfloat()関数とは?数値・文字列をfloat型に変換する方法を徹底解説

Pythonのfloat()関数は、標準ライブラリに組み込まれた関数の一つで、数値や数値を含む文字列を浮動小数点数(float型)へ変換します。整数から小数への変換だけでなく、文字列形式の数値データを計算可能な数値型にキャストしたい場合などに広く活用されています。

文字列をfloat型に変換できる条件

文字列をfloat型に変換する際には、以下のルールに従って有効性が判定されます。

  • 文字列には数字のみが含まれている必要があります。

  • 数値の間には数学演算子(正負の符号など)を使用できます。

  • 「NaN」(非数)や「inf」(無限大)といった特殊な値も表現できます。

  • 文字列の先頭と末尾にある空白(ホワイトスペース)は常に無視されます。

使用例

以下のプログラムでは、float()関数をさまざまな値に適用した場合の戻り値の違いを確認できます。

n = 89
print(type(n))
f = float(n)
print(type(f))
print("input",7," with float function becomes ",float(7))
print("input",-21.6," with float function becomes ",float(-21.6))
print("input NaN, with float function becomes ",float("NaN"))
print("input InF, with float function becomes ",float("InF"))

実行結果

上記のコードを実行すると、次のような出力が得られます。

<class 'int'>
<class 'float'>
input 7 with float function becomes 7.0
input -21.6 with float function becomes -21.6
input NaN, with float function becomes nan
input InF, with float function becomes inf

このように、整数「7」は「7.0」というfloat型に変換され、負の小数はそのままの値でfloat型になります。また、「NaN」や「InF」のように大文字・小文字が混在していても、それぞれ「nan」「inf」として正しく認識される点にも注目してください。

エラーが発生するケース

一方で、数値として解釈できない文字列を引数に渡すと、ValueErrorが発生します。

使用例

print("input Tutorials, with float function becomes ",float("Tutorials"))

実行結果

Traceback (most recent call last):
   File "C:/xxx.py", line 18, in
      print("input Tutorials, with float function becomes ",float("Tutorials"))
ValueError: could not convert string to float: 'Tutorials'

このように、英字など数値以外の文字が含まれる文字列を変換しようとするとプログラムが異常終了するため、ユーザー入力などを処理する場合は、事前に文字列の内容を検証するか、try-except構文で例外を捕捉するのが安全です。

  1. Pythonのissubset()関数とは?部分集合の判定方法を実例付きで解説

    本記事では、Python標準ライブラリに用意されているissubset()関数の仕組みと使い方について詳しく解説します。 issubset()メソッドは、あるセット(集合)のすべての要素が、引数として渡した別のセットにも含まれている場合にブール値のTrueを返し、1つでも含まれていない要素があればFalseを返します。 下の図では、BはAの部分集合です。もしAとBが同一のセットであれば、両者は互いに部分集合の関係にあるといえます。つまり、両方のセットがまったく同じ要素を持っているということを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値

  2. Pythonのintersection()関数とは?集合の共通要素(積集合)を求める方法

    この記事では、Pythonのセット(集合)に対して実行できるintersection()関数について詳しく解説します。数学における「積集合(インターセクション)」とは、2つの集合から共通する要素を見つけ出すことを指します。構文<セット名>.intersection(<セットa1>, <セットa2>, …)戻り値引数として渡されたすべての集合に共通する要素(積集合)が、新しいセットとして返されます。使用例set_1 = {t,u,t,o,r,i,a,l} set_2 = {p,o,i,n,t} set_3 = {t,u,t} # 2つの集合の積集合 print