Python 3.8+Аннотации и typingпонятие
Final
константы
Обозначает переменную как константу — не должна переназначаться после инициализации. Только для статического анализа.
Синтаксис
from typing import Final
X: Final = value
X: Final[type] = value
Final запрещает переназначать имя, но не делает объект неизменяемым: список, помеченный как Final, всё ещё можно дополнять и сортировать на месте. Проверяет это только статический анализатор — интерпретатор спокойно выполнит повторное присваивание, никакой ошибки во время выполнения не будет. Не путать с декоратором @final: тот про запрет наследовать класс и переопределять метод.
Примеры
from typing import Final
MAX_SIZE: Final = 100
PI: Final[float] = 3.14159
print(MAX_SIZE) # → 100
print(PI) # → 3.14159
from typing import Final
class Config:
HOST: Final = 'localhost'
PORT: Final[int] = 8080
print(Config.HOST) # → localhost
print(Config.PORT) # → 8080
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности