Как набрать подсказку с оператором моржа?

Я пытаюсь ввести намек на выражение оператора моржа, т.е.

while (var: int := some_func()): ...

Как я могу это сделать?

2 ответа

Это невозможно. От PEP 572

Аннотации встроенного типа не поддерживаются:

Вам нужно объявить переменную перед while цикл, и вы можете указать там тип.

      var: int = 0
while var := some_func():
    ...

Я не верю, что ты сможешь.

Переменная может быть аннотирована, потому что грамматическое правило присваивания

      assignment:
    | NAME ':' expression ['=' annotated_rhs ] 

    ...

Обратите внимание, что указание типа явным образом находится между : после имени и =.

С другой стороны, выражение присваивания предоставляет только имя, без указания типа, предшествующее :=:

      named_expression:
    | NAME ':=' ~ expression 
    | expression !':='
Другие вопросы по тегам