Python não tem constantes realmente imutáveis como em outras linguagens.
Por convenção constantes tem seu nome em letras maiúsculas.
No exemplo a seguir a variável PI por ter seu nome em letras maiúsculas alerta os programadores que não devem altera-la, pois deve ser tratada como uma constante, contudo, ainda é possível altera-la.
|
1 2 |
# Declaração de uma constante PI = 3.14159 |
Nova abordagem (Python 3.7+)
As vezes precisamos encontrar uma forma de impedir a alteração em constantes.
Ao utilizar frozen= True tornamos os atributos da classe imutáveis.
|
1 2 3 4 5 6 7 8 9 |
from dataclasses import dataclass @dataclass(frozen=True) class Contantes: PI: float = 3.14159 GRAVIDADE: float = 9.807 constantes = Constantes() print(constantes.PI) # 3.14159 |