← retour aux snippets

typing.Final: documenter des constantes non surchargées

Marquer des attributs/variables comme constants pour les type-checkers.

python typing #typing#const

objectif

Marquer des attributs/variables comme constants pour les type-checkers.

code minimal

from typing import Final
API_VERSION: Final[str] = "v1"
print(isinstance(API_VERSION, str))  # attendu: True

utilisation

from typing import Final
class C:
    NAME: Final = "CONST"
print(C.NAME == "CONST")

variante(s) utile(s)

from typing import Final
print(hasattr(Final, "__class__"))

notes

  • Final est vérifié par les analyseurs statiques; pas d’effet à l’exécution.
  • Combinez avec frozen dataclasses ou MappingProxyType pour runtime.