比較する数値とともに数学演算子を関数に渡したいです。ここに私の壊れたコードがあります:
def get_truth(inp,relate,cut):
if inp print(relate) cut:
return True
else:
return False
そしてそれを呼び出す
get_truth(1.0,'>',0.0)
trueを返す必要があります。
operator module を見てください:
import operator
get_truth(1.0, operator.gt, 0.0)
...
def get_truth(inp, relate, cut):
return relate(inp, cut)
# you don't actually need an if statement here
operator
モジュールを使用します。 Pythonで使用できるすべての標準演算子が含まれています。次に、演算子を関数として使用します。
import operator
def get_truth(inp, op, cut):
return op(inp, cut):
get_truth(1.0, operator.gt, 0.0)
本当に文字列を演算子として使用する場合は、@ alecxeが推奨するように、文字列から演算子関数への辞書マッピングを作成します。