[pyar] Imprimir propiedades de una instancia de clase en forma recursiva y de forma humanamente legible

Juan BC jbc.develop en gmail.com
Dom Sep 9 21:28:33 ART 2012


El sep 9, 2012 7:54 p.m., "Eugenia Bahit" <eugeniabahit en gmail.com> escribió:
>
> El 9 de septiembre de 2012 19:10, Mariano Garcia Berrotarán <
garcia.berrotaran en gmail.com> escribió:
>
>> Muy interesante el modulo, te tiro un par de ideas a ver que te parecen:
>>
>> donde hace
>>
>> >> return "%s>" % str(obj).replace('__main__.', '').split(' at ')[0]
>>
>> podrias hacer:
>>
>> >> return "%s>" % obj.__class__.__name__
>>
>>

O mejor y mas teip sefti

return "{}".format(obj.__class__.__name__)
>>
>> y te evitas varias cosas, como castear el objeto a string o hacer
>> split al resultado.
>
>
> Esa opción es genial! no me había dado cuenta que seguía siendo menos
laburo!
> Metí todo lo demás para evitar escribir "<%s object>" y en realidad,
sigue siendo menos laburo escribirlo!!! Gracias!!
>
>>
>> Por otro lado, donde hace:
>>
>> >>>   if str(value) == '':
>> >>>        return "''"
>> >>>    elif str(value).startswith('<__main__.'):
>> >>>        return get_human_object_name(value)
>> >>>    else:
>> >>>        return value
>>
>> ejecuta la funcion get_human_object_name unicamente si el valor esta
>> definido en __main__, pero si le tiro una instancia de un objeto
>> importado desde otro modulo, esa comprobacion va a fallar. Supongo que
>> estas queriendo fijarte si el valor es algo que no sea tipo basico (o
>> parte de algunos tipos basicos). Eso lo podes hacer asi:
>>
>> >>> type(value) in (str, int, float, long, set, list, tuple)
>>
>>
>> o cualquier lista de tipos que quieras chequear. Tambien podes usar un
>> isinstance(obj, type) para cada tipo de valor.
>
>
> Nop. El primer if, es solo para que cuando se reciba una cadena vacía,
imprima las comillas simples.
>
> Nuevamente GRACIAS!!! :))
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120909/422d8117/attachment.html>


More information about the pyar mailing list