Ho programmato in Python per un po 'e recentemente ho iniziato a usare Ruby al lavoro. Le lingue sono molto simili. Tuttavia, ho appena trovato una funzionalità di Ruby che non so come replicare in Python. È il metodo freeze
di Ruby.Freeze in 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
C'è un modo per imitare questo in Python?
EDIT: Ho capito che ho fatto sembrare che fosse solo per le liste; in Ruby, freeze
è un metodo su Object
in modo da rendere immutabile qualsiasi oggetto. Mi scuso per la confusione.
Qual è il valore di "congelamento" iterable? –
Si può dipendere dal fatto che siano sempre gli stessi, su più thread, ecc., E non bisogna preoccuparsi che l'oggetto venga fatto riferimento in molti posti perché non cambierà da sotto di voi. – kerkeslager