¿Cómo bloqueo un objeto en Python?Bloquear objetos mutables como inmutables en python
Decir que tengo:
class Foo:
def __init__(self):
self.bar = []
self.qnx = 10
me gustaría modificar foo tanto como yo quiero:
foo = Foo()
foo.bar.append('blah')
foo.qnx = 20
Pero entonces me gustaría ser capaz de "bloqueo" es tal que, cuando Intento
lock(foo)
foo.bar.append('blah') # raises some exception.
foo.qnx = 20 # raises some exception.
¿Es eso posible en Python?
Buena pregunta; quizás esta publicación es relevante? http://stackoverflow.com/questions/4828080/how-to-make-an-immutable-object-in-python –
Tu pregunta es incoherente. Mire: 't = [2,3]; foo.bar = t; bloqueo (foo); t.append (4) '- ¿debería funcionar, o debería generar una excepción? – Veky