Category: Python | Atom Feed

Python Eficiente - Sobre la vida de los objetos

Antes de seguir adelante, necesitamos aclarar qué les pasa a los objetos que creamos en una aplicación. Cuándo se crean, dónde se almacenan y cómo se destruyen. En definitiva, necesitamos conocer mejor la vida de los objetos.

El término de variable que usamos en programación tiene su origen en el ...


Python Eficiente - Hacia la programación funcional

Existen muchas definiciones de Programación Funcional, así como comparativas con otros paradigmas de la programación que más parece una cuestión de gustos que una visión razonada de ventajas e incovenientes. No voy a entrar en definiciones tediosas que necesitan demasiadas explicaciones. Prefiero verlo más como si se tratara de una ...


Clausuras en python - Parte 2

Ámbitos anidados

La importancia de disponer de clausuras va más allá de saber dónde se evalúa la función. Si fuera posible encapsular una función junto con su propio entorno de ejecución, podríamos conseguir que la función tenga “memoria” o, dicho de otro modo, que sea capaz de conservar sus propios ...


Clausuras en python - Parte 1

Funciones Lambda

Antes de ver qué son las clausuras (closures), veamos qué tienen las funciones lambda que las hacen tan polémicas algunas veces.

Comencemos con un ejemplo. Te recomiendo que te esfuerces en deducir cómo funciona sin ir a probar cómo funciona. A continuación te pondré algunos valores para que ...


Estudio función factorial - numpy

Mientras busco tiempo para preparar algunos artículos sobre cómo hacer la programación python más eficiente, he estado revisando nuevos métodos de programar la función factorial en python aplicando los nuevos conocimientos adquiridos.

Como puse en un artículo anterior, la implementación más compacta de la función factorial sería aplicando la función ...


Borrado de un descriptor (corrección de errores)

Tengo que hacer algunas correcciones a la serie de artículos sobre descriptores, en concreto sobre el método __delete__ del protocolo descriptor.

Primero, aclaremos cómo funciona el método __delete__ y en qué se diferencia de __del__. No se trata de métodos destructores tal y como se entiende en otros lenguajes de ...


Mutable o inmutable, he ahí el dilema

Info

Disponible también como ipynb

Quien se enfrenta a la documentación de python por primera vez se pregunta porqué esa insistencia en mantener tipos de datos duplicados en versiones mutables e inmutables. Tenemos listas y tuplas que casi hacen lo mismo. En python3, tenemos el tipo inmutable bytes y el ...


Mutabilidad de Listas

Info

Puedes visionar este artículo y descargártelo como notebook ipython en http://nbviewer.ipython.org/5177340

Mucha gente, cuando se enfrenta por primera vez al lenguaje python, no entiende bien el concepto de “inmutabilidad” que tanto repite la documentación al tratar de diferenciar algunos tipos contenedores como tuplas, listas, conjuntos ...


Dobleces en python

En el último artículo del blog contaba en qué consistía doblar código1:

…un código que se pliega sobre sí mismo. Un código que te lleva desde un principio a un final por el camino más corto.”

Para ilustrar este concepto voy a usar un trozo de código python que ...


Pruebas básicas de python (y scala)

Como continuación del artículo “Cómo contratar a un programador de python” voy a dar las soluciones a algunas de las pruebas básicas que comentaba del proceso de selección. Añado también las soluciones sobre cómo sería con scala y de paso comparamos ambos lenguajes1.

Prueba del “Hello, World!”

Desde que ...

© Chema Cortés. Built using Pelican. Theme is subtle by Carey Metcalfe. Based on svbhack by Giulio Fidente.