如果条件为真,则传递关键字参数
是否有更符合pythonic的方式来执行此操作?如果条件为真,则传递关键字参数
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