[pyar] Bug o feature?
Daniel Moisset
dmoisset en machinalis.com
Lun Feb 21 08:58:35 ART 2011
2011/2/20 Roberto Alsina <ralsina en netmanagers.com.ar>:
> On 2/20/2011 12:31 PM, Matias Graña wrote:
>>
>> 2011/2/20 Roberto Alsina<ralsina en netmanagers.com.ar>:
>>>
>>> Si se construyeran los defaults cada vez que se invocan sería trivial
>>> creal
>>> efectos secundarios aún más misteriosos.
>>
>> Muy posiblemente. Yo supongo que si
>> *) cuando se compila la función se ponen los parámetros default en un
>> sector de memoria inaccesible desde la función (y desde afuera), y
>> *) cada vez que se ejecuta una función se copian (con una deep copy)
>> estos parámetros
>> no habría efectos secundarios.
>
> El primer efecto secundario es que hay cosas que cuando les haces deepcopy
> se cuelgan :-)
Otro es que las funciones no deepcopian, y son mutables:
In [14]: def f():pass
....:
In [15]: f.verbose_name = 'efe'
In [16]: g = copy.deepcopy(f)
In [17]: g.verbose_name = 'ge'
In [18]: f.verbose_name
Out[18]: 'ge'
More information about the pyar
mailing list