我想知道在 Python 中编写条件的规则是什么。 我对 Python 很陌生。我来自 C,习惯于在条件周围设置括号,这似乎不是 Python 中的规则。
我试图在 while 循环中设置条件,但遇到了问题,这是我的初始代码:
valid_rx = False
retry = 0
while valid_rx is False & retry < 5:
# the rest of the code is not particularly relevant, if a failure occurs, I relaunch my attempt and increment retry
而且它从未执行其余代码。
我认为我的条件永远不会为真,所以我尝试了几种组合并在 valid_rx is False 两边加上括号或 retry < 5 左右工作正常。 我想知道为什么初始条件失败,所以在终端中我尝试了这些组合,我还尝试了以下:
In [48]: False & retry
Out[48]: 0
这是否意味着在我的初始条件下,这部分条件首先被解释? Python 如何处理这种情况?从左到右 ? 它会解释 valid_rx is False , 然后 False & retry , 然后 retry < 5 ? 实际上,我本以为断言的条件会被丢弃以供进一步评估(即 valid_rx is False 的评估将阻止 False & retry 被解释)这将使我的初始条件正确......
如果有人有明确的解释(或引用),我会很感兴趣。
请您参考如下方法:
& 在 Python 中不被视为 AND 条件。你必须使用 and .
valid_rx = False
retry = 0
while valid_rx is False and retry < 5:
print("hello")
