martes, 4 de marzo de 2014

Python, enamorado de la simplicidad.


Estaba yo trasteando con Python, y estaba traspasando unas clases de cálculos de mecánica y me he encontrado que he implementado esta linea de Python, la cual es asombrosamente simple y potente;

  def aproxima( self, aMatriz, nNumber):
      """
        Devuelve el valor que sea el más aproximado dentro del array a nNumber
      """
      return min( aMatriz, key=lambda x:abs( x - nNumber ) )

Tenía una rutina en Harbour , hace lo típico, recorre el array, me guardo el valor de la posición que cumple y después devuelvo el elemento de ese array según la posición, lo cual, después de 25 lineas más o menos de código fuente, obtenía el premio ;-)

Pero la linea en Python hace lo mismo, en UNA SOLA LINEA!
Me he quedado prendado. 

Aunque a veces su simplicidad y el 'paso de todo', como esto;

   class coche():
         pass
 
   coche = coche()

   coche.color = 'rojo'
   coche.puertas = 5


Pero esa simplicidad, a veces, te puede volver loco ;-)

Ah! Se me olvidaba, muy importante , TODO el código ordenado!!!

ODIO el tener que estar repasando códigos de otros y cada cual usa la indentación como le da la gana, y era reacio a su uso al principio, pero si usas código de otros, lo agradeces de todo corazón!!! ;-)

No hay comentarios:

Publicar un comentario

Android y Git. Disponer del hash automáticamente.

Una de las cosas a las que estoy acostumbrado, es tener siempre en mi código, el hash/tag/versión del control de versiones que estoy usan...