如果condition为True,则传递关键字参数

时间:2017-08-30 10:02:03

标签: python python-3.x

有更多的pythonic方法吗?

if condition:
    return f(x, y, z=1)
else:
    return f(x, y)

3 个答案:

答案 0 :(得分:3)

你的解决方案看起来足够Pythonic,虽然你可以使用三元条件展平它:

return f(x, y, z=1) if condition else f(x, y)

答案 1 :(得分:2)

有条不紊地建立你的kwargs:

kwargs = {}
if condition:
    kwargs['z'] = 1

return f(x, y, **kwargs)

答案 2 :(得分:0)

return f(x, y, z=condition)

如果condition是boolean;)