gpt4 book ai didi

python - "or" bool 值在内联 "if"语句中

转载 作者:行者123 更新时间:2023-11-28 20:57:29 25 4
gpt4 key购买 nike

我有一个程序,它首先解析几个参数,其中一个是“详细”标志。但是,我还有一个“模拟”标志,如果它打开,我想自动将详细标志翻转为“真”。

现在我有这个工作:

if args.verbose or simulate:  
verbose = True

我怎样才能把它放到一行中?我期待能够做类似的事情:

verbose = True if args.verbose or simulate

或喜欢:

verbose = True if (args.verbose or simulate)

在这里搜索时,我找到了一个适合一行的解决方案:

verbose = (False, True)[args.verbose or simulate]

但是,我发现该解决方案的可读性远不如我希望可行的其他解决方案。这可能吗,我只是错过了什么?还是不可能像这样在一行中的两次“真”检查之间使用“或”?

最佳答案

问题不在于 or,而是您需要一个 else 子句来指定如果 if 语句的值应该是什么失败。否则,如果条件为假,将分配什么?

verbose = True if args.verbose or simulate else False

不过,根本不需要if。如果您直接将测试结果分配给 verbose 就更简单了:

verbose = args.verbose or simulate

关于python - "or" bool 值在内联 "if"语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53036073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com