Python Glossary English

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Сообщить о неточности