带有OR参数的调用方法?

问题描述 投票:0回答:2

是否可以缩短此时间或跳过if-else检查:

 if kv is None : self.obj.generate()
 else : self.obj.generate(**kv)
python arguments
2个回答
0
投票
就这么简单:

self.obj.generate() if not kv else self.obj.generate(**kv)


0
投票
尝试此代码:

li = [{},kv] self.obj.generate(**li[bool(kv)])

  1. 您为您的2个结果生成了2个元素的列表。
  2. 您使用列表中的两个元素之一调用方法; bool(kv)是您的开关。

如果kv为None(或0),则bool(kv)变为False(等于0)

© www.soinside.com 2019 - 2024. All rights reserved.