Pythonで正の無限大を表現する方法:float('inf')の使い方を解説
Pythonにおける正の無限大の扱い方
数学的な「無限大」は具体的な数値として表現できるものではありませんが、Pythonではfloat()関数に文字列'inf'を渡すことで、正の無限大に最も近い値を取得できます。
基本的な使い方
>>> a = float('inf')
>>> a
infこのように、変数aには正の無限大(inf)が格納されます。この値は浮動小数点数型(float)として扱われ、任意の有限の数値よりも大きいという性質を持ちます。
負の無限大が必要な場合
同様に、負の無限大を表現したい場合はfloat('-inf')を使用します。
>>> b = float('-inf')
>>> b
-infmathモジュールを使う方法
Python 3.5以降では、標準ライブラリのmathモジュールからも無限大を取得できます。
>>> import math >>> math.inf inf
主な活用シーン
無限大は以下のような場面で役立ちます。
- 最小値を求めるアルゴリズムの初期値として設定する
- 数値の上限・下限がないことを明示的に表す
- 比較演算において「どの値よりも大きい/小さい」基準として使う
>>> a > 1000000
True
>>> a == float('inf')
Trueこのように、float('inf')はあらゆる有限の数値との比較で常に大きいと判定されるため、初期値や境界値の処理に便利です。
-
Pythonモジュールのソースファイルの場所を確認する方法
```html 純粋なPythonモジュールの場合:__file__属性を使う純粋なPythonで書かれたモジュールであれば、module.__file__属性を参照することで、ソースファイルの場所を簡単に確認できます。>>> import mymodule>>> mymodule.__file__C:/Users/Ayush/mymodule.pyこのように、__file__にはそのモジュールが読み込まれたファイルへのパスが格納されています。C言語で実装された組み込みモジュールの場合一方、多くの組み込みモジュールはC言語で実装されているため、module.
-
Pythonで文字列内のn番目に出現する部分文字列の位置を見つける方法
Pythonでは、split()メソッドを活用することで、文字列内にn番目に出現する部分文字列の位置(インデックス)を簡単に求めることができます。基本的な考え方手順は以下の通りです。対象の部分文字列を区切り文字として、最大 n+1 回だけ文字列を分割します。分割後のリストの要素数が n+1 より大きければ、その部分文字列は少なくとも n 回以上出現していることになります。出現位置は、「元の文字列の長さ − 最後の分割部分の長さ − 部分文字列の長さ」というシンプルな式で計算できます。コード例def findnth(string, substring, n): parts = strin