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

Pythonで無限大(inf)を表す方法|float()とmathモジュールの使い方

Pythonで無限大を表す基本の方法

Pythonでは、浮動小数点数(float型)として無限大を扱うことができます。最もシンプルな方法は、組み込み関数 float() の引数に文字列 'inf' を渡すことです。

>>> a = float('inf')
>>> a
inf

これで変数 a には正の無限大が代入されます。負の無限大が必要な場合は、'-inf' を指定します。

>>> b = float('-inf')
>>> b
-inf

mathモジュールのinf定数を使う方法

標準ライブラリの math モジュールに用意されている定数 math.inf を使っても、まったく同じ結果が得られます。

>>> import math
>>> a = math.inf
>>> a
inf

math.inffloat('inf') は完全に等価であり、比較しても True が返されます。

>>> import math
>>> float('inf') == math.inf
True

無限大の主な性質と注意点

  • 任意の有限の数よりも大きい(例:inf > 10**100True
  • inf + infinf * 正の数 の結果も inf のまま
  • inf - inf は数学的に未定義のため、結果は nan(非数)になる

これらの性質を活かせば、「事実上の最大値」を初期値として設定したい場面で非常に便利です。たとえば、リストから最小値を探す処理で、比較用の初期値に float('inf') を使うのが定番のテクニックです。

  1. Pythonで文字列がfloatに変換可能かどうかを判定する方法

    Pythonでは、文字列がfloat(浮動小数点数)として有効かどうかを確認したい場面がよくあります。最もシンプルで確実な方法は、float()関数をtry-exceptブロックで囲むことです。 基本的な変換方法 文字列をfloatに変換するには、次のように記述します。 try: print(float(112.15)) except ValueError: print(Cannot parse) このコードを実行すると、以下の出力が得られます。 112.15 変換できない場合の挙動 もし文字列が数値として解析できない場合(例えば abc のような文字列)、ValueError

  2. Python関数の引数の数を取得する方法【inspectモジュール活用】

    Python関数の引数の数を調べるには? たとえば、次のようなスクリプト qux.py があるとします。 #qux.py def aMethod1(arg1, arg2): pass def aMethod2(arg1, arg2, arg3, arg4, arg5): pass このスクリプトの中身が分からない(ソースコードにアクセスできない)場合でも、Pythonの標準ライブラリである inspect モジュールを使えば、関数が受け取る引数の数や名前を簡単に調べることができます。 inspectモジュールで引数の一覧を取得する まず、inspect モジュールをインポー