gpt4 book ai didi

python - 为什么需要验证 'if not set(sys.argv)'?

转载 作者:太空宇宙 更新时间:2023-11-04 08:00:15 25 4
gpt4 key购买 nike

我正在尝试理解下一个验证的第一部分。我可以安全地假设表达式“if not set(sys.argv)”始终为 False 吗?代码来自Ironic Project .

if not set(sys.argv) & valid_commands:

根据docs ,如果使用“-c”选项运行命令,则 argv[0] 设置为字符串“-c”。这仍然是一个非空集。示例:

python -c '
import sys
print(sys.argv[0])
if not set(sys.argv):
print("empty")
else:
print("non-empty")
'

最佳答案

你读错了。 Python 的 not 的优先级非常低,低于 &(不是逻辑与)。

if not set(sys.argv) & valid_commands:

应该理解为

if not (set(sys.argv) & valid_commands):

它正在测试 sys.argv 是否包含集合 valid_commands 的任何元素。

关于python - 为什么需要验证 'if not set(sys.argv)'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41450262/

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