Удаляется ли typing.assert_never() с помощью параметра командной строки -O, аналогично оператору утверждения?Python

Программы на Python
Anonymous
Удаляется ли typing.assert_never() с помощью параметра командной строки -O, аналогично оператору утверждения?

Сообщение Anonymous »

В Python оператор Assert не создает кода, если переданы параметры оптимизации командной строки -O или -OO. Это происходит при типировании.assert_never()? Безопасно ли объявлять утверждения времени выполнения, которые не будут оптимизированы?
Рассмотрите этот случай

Код: Выделить всё

from typing import assert_never

def func(item: int | str):
match item:
case int():
...
case str():
...
case _:
assert_never(item)
Гарантировано ли, что ветка по умолчанию будет работать даже в оптимизированном режиме?


Подробнее здесь: https://stackoverflow.com/questions/790 ... -assert-st

Вернуться в «Python»