A bandeira Frozen_Default, adicionada no Python 3.12, faz com que isso funcione perfeitamente, mas o código
também deve funcionar no Python 3.11 sem alterações, pois o dataclass_transform aceita qualquer
Argumentos de palavra -chave.Nesse bloco, nós usamos
typing.dataclass_transform, introduzido no pep-6813, para criar um construto semelhante a
A função dataclass que tipo de verificações reconhece.Classes Frozen Atts Frozen Atts – Tin Tvrtković ↩︎
attrs ↩︎
PEP 681 – a classe de dados transforma ↩︎
Como aplicar estaticamente as classes de dados congeladas no Python?Isso ocorre porque, quando você habilita Frozen = True, Python tem que
gerar métodos __setattr__ e __delattr__ durante o tempo de definição da aula e invocar
eles para cada instanciação.No entanto, há uma pequena advertência – instantando uma classe de dados congelados é um pouco
mais lento que um não congelado.
Fonte: https://rednafi.com/python/statically_enforcing_frozen_dataclasses/