‘Contexts’ en Python

En Python, un contexto (context) es una clase que implementa los métodos ‘__enter__’ y ‘__exit__’ los cuales son llamados si la clase en llamada con la palabra reservada ‘with’. Por ejemplo, los descriptores de archivo (file handle) en Python se pueden llamar con un contexto, ahorrando llamar ‘finally’ para cerrar archivos, sin importar si hay […]

Functors en Python

Un ‘functor’ es u objeto el cual puede ser llamado como si fuera una función. En Python simplemente hay que implementar el método ‘__call__’. En este ejemplo, vamos a tomar a los candidatos presidenciales del articulo anterior y vamos a escribir una pequeña clase (llamada SortKey) la cual nos va a permitir ordenar por cualquier […]

Slots, Abstracts classes en Python 3

¿Se acuerdan del ejemplo anterior usando classes en Python? En este caso hice un par de cambios para aprender más sobre clases abstractas y slots (una manera de ahorrar memoria en Python cuando creamos objetos). En este caso: Uso un ‘slot’ para guardar sólo 3 atributos que son definidos en el constructor Declaro la propiedad […]

Guardando datos usando formatos de archivo a la medida, en Python 3

En Venezuela una de las pocas formas de saber la paridad entre el dolar «paralelo» y el Bolivar fuerte es utilizando el portal «DolarToday». El sitio web (https://dolartoday.com/historico-dolar/) ofrece datos que van desde el 2010 hasta el presente, en los cuales puede ver la paridad entre las dos monedas. En un arranque de ociosidad, decidí […]

Escribiendo ‘ls’ en Python3

El programa a continuación es un ejemplo de las cosas que se pueden hacer con Python 3. Para mí fue una excusa para aprender lo siguiente: Uso de ‘.format’ para mostrar contenido con formato (mucho mejor que interpolación de cadena de caracteres con ‘%’) La librería ‘OptionParser’ (Mejor que Getoptions) Trucos con ‘list comprehensions’ , […]

Migrando de Python2 a Python3.1+

Si usted es como yo y le gusta tener una lista concisa de las diferencias entonces este enlace, parte del libro de Mark Summerfield, le va a encantar. Por cierto, si esta aprendiendo Python3 entonces comience con Python3.1. Python3.0+ está ya obsoleto y la sintaxis na va a ser mantenida.