RE: [Python-es] Sobrecargar función

Hernán Martínez Foffani hernan en orgmf.com.ar
Mie Feb 9 17:21:10 CET 2005


>> Que habría que poner dentro de la función copy para que me devuelva
>> una clase igual a ListDict.
>>
>> class ListDict(dict):
>>     def __init__(self, *args):
>>         self._orden = []
>>         dict.__init__(self, *args)
>>
>>     *
>>     def copy(self):
>>         #codigo función copy
>
> Alcanzará con que hagas:
>
>  import copy
>
>     ...
>     def copy(self):
>         return copy.copy(self)
>     ...
>

Bue... Esa es fue respuesta de programador vago ;-)
Sin usar el modulo copy y aprovechando el "copy-constructor"
del tipo dict:

      ...
 	def copy(self):
		c = ldict(self)
		c._orden = self._orden[:]
		return c
      ...

-H.




Más información sobre la lista de distribución Python-es