Claves para ser más productivo con Python
Por el mismo afán en que nos sumergimos cuando desarrollamos un proyecto, perdemos la capacidad de reflexión, de valorar los procesos mentales que después del tiempo, la práctica y los errores logramos automatizar.
Uno de los lenguajes más lógicos y simples en cuanto a sintaxis estructural es Python. Por supuesto que puede llegar a un nivel de complejidad tipo “ninja”, pero lo que viene a continuación les va a gustar.
¡Python hace el trabajo!
Detrás del montón de líneas de código que “a veces” copias sin dolor, estuvo otra persona invirtiendo su tiempo y esfuerzo, como dice un buen amigo: “No me gusta que me digan Ingeniero, me gusta que me llamen sensato”.
Aquí algunos consejos para ser más productivo con Python.
1. Domina las formas naturales del lenguaje
- Listas por comprensión. Son la forma más concisa de crear y transformar las listas, para ello utiliza las cláusulas for-if.
ppl = ['Alice', 'Bob', 'Carol', 'Doug']
excited_ppl = [e + '!!' for e in ppl]
ppl_len = [len(x) for x in ppl]
# Use generator to generate a stream of primes
def gen_primes():
n = 2
while True:
for x in range(2, n):
if n % x == 0:
break
else:
yield n
n += 1
for p in gen_primes():
print(p)
def make_bold(fn):
return lambda : "" + fn() + ""
def make_italic(fn):
return lambda : "" + fn() + ""
@make_bold
@make_italic
def hello():
return "hello world"
helloHTML = hello()
from contextlib import contextmanager
@contextmanager
def tag(name):
print "" % name
yield
print "" % name
>>> with tag("h1"):
... print "foo"
...
foo
2. Listas, diccionarios, “sets”
Familiarizarse con todos los métodos de estructura de datos. Python es genial con este tipo de estructuras sintácticas para dividir listas y operaciones matemáticas.
3. iPython
Con esta API prueba todos tus fragmentos de código, inspecciona objetos, funciones, tiempos, etc. todo de forma interactiva y ágil.
4. Analiza
Engancha herramientas como PyLint, PyFlakes o PyChecker a tu editor para revisar tu código mientras avanzas.
5. Saca ventaja de la librería
Python incluye por defecto una extensa librería, acostúmbrate a ella (urllib2, time, daytime, random, intertools, functools, re, collections, etc.).
6. Trabaja con los módulos print / pdb
En especial print es bastante efectivo en Python porque no es necesario compilar el código de nuevo para iniciar el comando, pdb es un código fuente interactivo depurador de los programas de Python
7. Elige convenciones “fuertes” de nomenclatura
De esta manera logras que tu código sea más auto-documentado. Por ejemplo, si en el código base tienes “user ids” – “user objects” utiliza siempre:
*_user_id para el principal y *_user para el último.
En serio, reflexiona
¿Cómo te aproximas a los problemas, buscas soluciones rápidas o respuestas para entender las dificultades?
No está demás que visites PythonTutor (MIT), en este sitio puedes entender lo que pasa mientras el computador ejecuta cada línea de código y Project Euler, para que pongas a prueba tus conocimientos a la hora de resolver problemas matemáticos y de programación.
Ejercita la lógica matemática, es de los aspectos que personalmente me atrae de lenguajes como Python.
¿Y tú cómo optimizas tu productividad con Python?
[…] "CRITEO-300×250", 300, 250); 1 meneos Claves para ser más productivo con Python http://www.maestrosdelweb.com/editorial/claves-para-ser-mas-prod… por dafevi hace […]
Excelente, muy bien explicado y con mucho para poner en practica.
Sigo prefiriendo Visual Basic 6.0
Me alegra saber que fue útil este “post”. Salu2
Hola Pablo. Gracias por aportar a la charla con tu comentario. Deberías animarte a conocer la mayoría de lenguajes posibles. Salu2
¿como tan mediocre para programar en esa porqueria de lenguaje?
Solo puedo decir que elegir un buen camino pero me falta mucho caminar
Que buen Apunte Chaqui! =)