В документе Что нового в Python 3.8 приведен следующий пример так называемого оператора моржа :
# Loop over fixed length blocks
while (block := f.read(256)) != '':
process(block)
Почему есть явное сравнение с ''
? Это выглядит не очень Pythoni c. Другими словами, почему бы не использовать тот факт, что пустой блок оценивается как False
?
while block := f.read(256):
process(block)
Даже в примере в PEP-572 используется следующее:
while chunk := file.read(8192):
process(chunk)
Это просто упущение автора документа?