次のコードがあります
def isIt(arg):
isA = funcA(arg)
isB = funcB(arg)
return (isA and isB)
ここで、funcB() は funcA よりも計算コストが高く、半数以上のケースで funcA() は False です。
したがって、funcA が True の場合にのみ Python で funcB を呼び出すようにすると意味があります。
def isIt(arg):
return (funcA(arg) and funcB(arg))
リソースの消費を考慮した場合、これら 2 つの機能は同じですか? funcB() がジェネレーターの any() の場合はどうなりますか?
編集 1: 最初のコードのように書くという私の意図は、 funcA() と funcB() へのパラメーター ( arg ではない) が非常に長く、読みやすさを損なうのに十分であるということです。
ps。変数の代わりに 2 つのローカル関数を作成して、2 番目のコードと同じ効果を実現できることに気付きました。