Re: [Programación] Re: [Programación] La bola de cristal en la programación (Era: Ayuda con código para procesar textos)
Jose Luis Diaz
jose en rtfm.org.ar
Mie Feb 25 13:40:01 ART 2009
2009/2/25 Horacio Castellini <horacio9573 en yahoo.com.ar>:
> Para retomar el topic, relacionado con el tema de la introspección sujerida... lo que pude avieriguar es esto...
> ---------------------------------------
> Es la capacidad que tiene en un lenguaje de programación en que sus
> elementos pueden obtener información sobre sí mismos y sobre el
> sistema sobre el cual se ejecutan.
>
> Como cuando haces
>
>>>> import sys
>>>> dir(sys)
>
> Así puedes conocer todos los campos y métodos de un objeto (todo en
> python es un objeto, no hay primitivas), obtener referencias de un
> método o propiedad por su nombre.
>
>>>> getattr(__builtins__,"sum")([3,4])
> 7
>
> Si se consideran todos los métodos mágicos de los objetos de Python,
> __self__ (él mismo), __class__ (la clase a la que pertenece), __doc__
> (la documentación asociada), __repr__ (su representación como cadena),
> etc. Pues así cualquier objetos puede saber bastante de si mismo, del
> entorno donde se ejecutan y de los objetos presentes (funciones
> globals() o locals())
>
> Este tipo de mecanismos son ejemplos de lo que es la introspección de Python.
> ------------------------------------------------------
>
> Vaya, vaya, nunca imaginé que la inferencia fuera posible asociarla a conjuntos recursivos de operaciones, por lo tanto computables... para mi siempre el acto de inferir estaba asociada a la elaboración de juicios isomorfos al problema de la parada, el cual es no computable. (Según Penrose, Turin y Godel)
>
duck-typing:
A pythonic programming style which determines an object’s type by
inspection of its method or attribute signature rather than by
explicit relationship to some type object (“If it looks like a duck
and quacks like a duck, it must be a duck.”) By emphasizing interfaces
rather than specific types, well-designed code improves its
flexibility by allowing polymorphic substitution. Duck-typing avoids
tests using type() or isinstance(). (Note, however, that duck-typing
can be complemented with abstract base classes.) Instead, it typically
employs hasattr() tests or EAFP programming.
--
Stay hungry, stay foolish
Más información sobre la lista de distribución Programacion