我在想什麼是在Python中編寫條件的規則。 我對Python很陌生。我來自C,我習慣圍繞條件設置括號,這似乎並不是Python中的規則。編寫條件的pythonic方式
我試圖設置一個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
被解釋),這將讓我正確的初始條件...
如果有人有一個明確的解釋(或參考)我會感興趣。