【Python入門】数値を範囲内に制限するクランプ関数の自作方法
クランプ(clamp)関数とは?
クランプ関数とは、ある値を指定された最小値と最大値の範囲内に制限する関数です。値が範囲を下回れば最小値に、上回れば最大値に丸められます。
残念ながら、Pythonの標準機能には組み込みのクランプ関数が用意されていません。しかし、max() と min() を組み合わせることで、わずか数行で簡単に自作できます。
クランプ関数の実装例
def clamp(num, min_value, max_value):
return max(min(num, max_value), min_value)
print(clamp(5, 1, 20))
print(clamp(1, 10, 20))
print(clamp(20, 1, 10))このコードを実行すると、次の出力が得られます。
5 10 10
仕組みの解説
まず min(num, max_value) によって、値が最大値を超えないように制限します。続いて、その結果に対して max(..., min_value) を適用することで、値が最小値を下回らないようにしています。この二段階の処理により、引数 num は必ず [min_value, max_value] の範囲内に収まる仕組みです。
なお、NumPyを使用している場合は np.clip() 関数でも同様の処理が可能なので、配列や大量のデータを扱う際にはそちらを活用すると便利です。
-
Pythonで複素数を扱う方法:基本の書き方とcomplex()関数の使い方を解説
複素数とは?複素数とは、2つの実数 a と b の組み合わせで表される数であり、一般的に「a+bi」または「a+ib」という形式で書かれます。ここで i は虚数単位と呼ばれ、第2項であることを示すラベルのような役割を果たします。数学的には、虚数単位 i は次の性質を持ちます。i² = -1なお、分野によっては i の代わりに j が使われることもあります(特に電気工学などでは j が標準的です)。Pythonでの複素数の基本的な書き方Pythonでは、虚数部分に接尾辞 j を付けることで、複素数リテラルをそのまま記述できます。変数への代入は以下のように行います。>>> a =
-
Pythonで文字列と数値を連結する方法をわかりやすく解説
Pythonで文字列と数値を連結する基本の方法Pythonでは、文字列と数値をそのまま + 演算子で結合することはできません。連結するには、str() 関数を使って数値を文字列型に変換する必要があります。以下は基本的な例です。>>> a = string >>> b = 1 >>> print(a + str(b)) string1このように str(b) によって数値 1 が文字列 1 に変換され、文字列同士として正しく連結されます。Python 2で使えたバッククォート記法についてPython 2では、数値をバッククォート(`)で囲むこ