これを行うにはもっとpythonicな方法がありますか?条件がTrueの場合、キーワード引数を渡す
if condition:
return f(x, y, z=1)
else:
return f(x, y)
これを行うにはもっとpythonicな方法がありますか?条件がTrueの場合、キーワード引数を渡す
if condition:
return f(x, y, z=1)
else:
return f(x, y)
条件付きでごkwargsからのビルド:あなたは三条件を使用して、それを平らにすることができますが、
kwargs = {}
if condition:
kwargs['z'] = 1
return f(x, y, **kwargs)
おそらく単一のkwargのために最高ではありません。 –
確かに、あなたはこの特定のケースでもっと簡単に何かに煮詰めることができますが、それは私が追求する一般的なアプローチです。 – deceze
return f(x, y, z=condition)
条件がブール値である場合;)
しかし、 '' z''は数値であり、デフォルト値はわかりません(私たちが知っているすべてに対して '' -1''や '' None'')。 –
それは本当です。問題は、この質問がそれについての十分な情報を提供していないということです... – campovski
あなたのソリューションは、十分なPython的になります。
return f(x, y, z=1) if condition else f(x, y)
このような単純なコード、私は "もっとpythonic"であることを心配しません。読みやすさを維持するためにそのまま保管しておきます。 – Sayse