RE: [Python-es] Sobrecargar método

Batista, Facundo Facundo.Batista en telefonicamoviles.com.ar
Vie Dic 2 17:07:50 CET 2005


#- class Cosa:
#-    def leeDatos(self, datos):
#-       if isinstance(datos, file):
#-          print "Datos es un fichero"
#-          # lee el fichero
#-       elif isinstance(datos, list):
#-          print "datos es una lista de elementos"
#-          # recorre la lista elemento a elemento

A ver. ¿Por qué querés que sea un sólo método?

¿La información que tenés en la lista es la misma que en el fichero? (por
ejemplo, en ambos casos lees lineas de texto). Si es así, podés lograr algo
como (abriendo previamente al archivo con 'file'):

def leeDatos(self, datos):
	for linea in datos:
		# ...

Ahora, si las formas de acceder son muy distintas, ¿por qué meterlas en el
mismo método? ¿para que desde afuera se vean con la misma API?

¿Qué pasaría si desde afuera tenés un leeDatosLista y un leeDatosArch?

Por otro lado, ¿por qué decis que usar isinstance() no es aconsejable?

Perdón que me desvíe un poco, pero me interesa el por qué se quiere un
modelo como este...

Gracias, slds.

.    Facundo

Bitácora De Vuelo: http://www.taniquetil.com.ar/plog
PyAr - Python Argentina: http://www.python.org/ar/


  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
ADVERTENCIA.

La información contenida en este mensaje y cualquier archivo anexo al mismo,
son para uso exclusivo del destinatario y pueden contener información
confidencial o propietaria, cuya divulgación es sancionada por la ley.
Si Ud. No es uno de los destinatarios consignados o la persona responsable
de hacer llegar este mensaje a los destinatarios consignados, no está
autorizado a divulgar, copiar, distribuir o retener información (o parte de
ella) contenida en este mensaje. Por favor notifíquenos respondiendo al
remitente, borre el mensaje original y borre las copias (impresas o grabadas
en cualquier medio magnético) que pueda haber realizado del mismo.
Todas las opiniones contenidas en este mail son propias del autor del
mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones
Personales S.A. o alguna empresa asociada.
Los mensajes electrónicos pueden ser alterados, motivo por el cual
Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación
cualquiera sea el resultante de este mensaje.
Muchas Gracias.
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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