El 8 de agosto de 2014, 22:17, Carlos Zuniga <carlos....@gmail.com> escribió:
> On Tue, Aug 5, 2014 at 12:46 PM, Jose Caballero > <jcaballero....@gmail.com> wrote: > > > http://www.diveintopython.net/power_of_introspection/built_in_functions.html > > > > even I don't understand the explanation. > > Anyways, I stick with my original attitude: I don't know and I don't > > care, I just learn how to use it. > > La razón por la que len es una función y no un método es muy > interesante y Guido la explica en el FAQ [0], pero básicamente se > reduce a facilidad de lectura. > > Primero por que para algunas cosas se ve mejor un prefijo que un > sufijo, en matemáticas se usa bastante más los prefijos; segundo > porque len(x) te dice de antemano que el resultado es un entero (y x > un contenedor) mientras que x.len() puede ser cualquier cosa, > dependiendo de la implementación. > Yo, en cambio, pienso que 'len' (o 'size' o 'shape') debería ser "propiedades" del contenedor (atributo property) y que, en general, debería ser la implementación quién le de su sentido real. Hacer que 'len' sea una función hace que todo se parezca a una lista, algo que no está mal como primer ataque a un problema, pero que distorsiona bastante cuando usas estructuras de datos algo más sofisticadas (matrices, listas sparse, listas recursivas, iteradores, trees, clusters, fractales,...). > > > Saludos > > [0] > http://effbot.org/pyfaq/why-does-python-use-methods-for-some-functionality-e-g-list-index-but-functions-for-other-e-g-len-list.htm > > -- > A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos > de leer manuales. > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/