Generando una excepción al actualizar un atributo 'constante' en python
Como Python no tiene un concepto de constantes, ¿sería posible generar una excepción si se actualiza un atributo 'constante'? ¿Cómo?
class MyClass():
CLASS_CONSTANT = 'This is a constant'
var = 'This is a not a constant, can be updated'
#this should raise an exception
MyClass.CLASS_CONSTANT = 'No, this cannot be updated, will raise an exception'
#this should not raise an exception
MyClass.var = 'updating this is fine'
#this also should raise an exception
MyClass().CLASS_CONSTANT = 'No, this cannot be updated, will raise an exception'
#this should not raise an exception
MyClass().var = 'updating this is fine'
Cualquier intento de cambiar CLASS_CONSTANT como un atributo de clase o como un atributo de instancia debe generar una excepción.
Cambiar var como un atributo de clase o como un atributo de instancia no debería generar una excepción.