He programado en Python por un tiempo, y recientemente comencé a usar Ruby en el trabajo. Los idiomas son muy similares. Sin embargo, me encontré con una característica de Ruby que no sé cómo replicar en Python. Es el método de Ruby freeze
.Congelar en Python?
irb(main):001:0> a = [1,2,3]
=> [1, 2, 3]
irb(main):002:0> a[1] = 'chicken'
=> "chicken"
irb(main):003:0> a.freeze
=> [1, "chicken", 3]
irb(main):004:0> a[1] = 'tuna'
TypeError: can't modify frozen array
from (irb):4:in `[]='
from (irb):4
¿Hay alguna manera de imitar esto en Python?
EDIT: me di cuenta de que parecía que esto era solo para listas; en Ruby, freeze
es un método en Object
para que pueda hacer cualquier objeto inmutable. Me disculpo por la confusión.
¿Cuál es el valor de los iterables de "congelación"? –
Puede confiar en que sean los mismos en cualquier caso, en varios subprocesos, etc., y no tiene que preocuparse por el objeto al que se hace referencia en muchos lugares porque no cambiará de debajo de usted. – kerkeslager