Debería haber aprendido antes Python

Posted by in Python

Tengo que reconocerlo:

Debía haber aprendido antes Python

La economía es Python es importante, pero creo que pese a reducir considerablemente el número de líneas escritas, la legibilidad se mantiene, o incluso es mejor que en otros lenguajes.

Y es que cosas como

variable = "cadena" if (condicion) else "cadena_alternativa"

ejecuta lo mismo que esto, salvo que la primera opción es mucho más legible:

if (condicion):

variable = "cadena"


else:


variable = "cadena_alternativa"

Esta es una de las cosas que más me ha fascinado de Python.

Otra de las cosas más “cool” de Python es asignación múltiple

a,b = 0, "hola"

o incluso mejor, facilitando el intercambio de valores entre dos variables:

a,b = b,a

Podeis ver un pequeño ejemplo aquí.

Listas

Para operaciones sencillas con todos los elementos de una lista, he aquí cómo hacerlo:

a = [3,4]

print  [x*2 for x in a]

Otra de las cosas que más me ha gustado al trabajar con listas es map, para transformar una lista en otra nueva, donde todos los elementos “pasan” por una función. Ejecutamos lo mismo que antes, pero con map:

def multi(x): return 2 * x
a = [3,4]
print map(multi, a)

El resultado es lo podeis ver aquí.

>>>

[6,8]

El manejo de listas es realmente una de las características más potentes de Python. Recientemente escribí un proceso, que necesitaba los 7 primeros caracteres de una lista de cadenas, y eliminar los _:

def proceso(matriz):
resultado = []
for fila in matriz:
tmp = str.replace(fila[0:7],"_","")
resultado.append(tmp)
return resultado

Y acabó reconvertido en esto:

def proceso(matriz):

   return [ str.replace(fila[0:7],"_","") for fila in matriz ]

E incluso podemos incluir condiciones if, tal que así:

def proceso(matriz):

   return [ str.replace(fila[0:7],"_","") for fila in matriz  if fila == 'hola' ]

Aquí podeis verlo en funcionamiento.

Global

Otra de las características que más me han gustado de el hecho de “remarcar” dentro de las funciones cúando estás trabajando con variables globales, mediante global.

En definitiva …

Supongo que el hecho de estar siguiendo el curso de Introducción a Python de coursera.org me ha hecho descubrir la verdadera economía de Pyhton, sin perder legibilidad!

Que pasen un buen día!

PD: Me he encontrado con este post (inglés, y un poco largo) de alguien que poco a poco, ha terminado casi en exclusiva programando en Python.

Google+ Comments - Comentarios Google+