#120 Gracias, le voy a echar un ojo
#121 echale un vistazo tambien a lo q te puede ofrecer ffmpeg para descagar lo maximo posible el curro
Dice alguna que otra cosa interesante como los setter y el tema de los métodos privados. Totalmente recomentable en mi opinión.
Si hablamos de vídeos, no podemos olvidarnos de este:
Cómo escupe código mientras habla, sin autocompletar ni llevar un guión preparado. Un crack.
Tengo una duda súper extraña, cuando aprendí python programe un código que resolvía sudokus. Me he encontrado con él por el HDD y estuve echando un vistazo para ver que cosas eran mejorables y tal.
Resulta que en este código, has de iterar por filas y columnas varias veces y tenía bastantes estructuras tipo:
for i in range(x):
for j in range(x):
do_stuff()
Entonces pensé que sería conveniente crear un generador y de ese modo evitar un montón de bucles innecesarios y un montón de tabs (quizá sea una chorrada pero bueno)
def square_coords( sz ):
for i in range(sz):
for j in range(sz):
yield i,j
El caso es que si los anido, no funciona igual que con bucles separados. Es decir:
for idx_i in range(3):
for idx_j in range(3):
for i in range(3):
for j in range(3):
do_stuff()
No funciona igual que:
it1 = square_coords(3)
it2 = square_coords(3)
for idx_i, idx_j in it1:
for i, j in it2:
do_stuff()
EDITS
En cambio, probando con otros tipos de generadores no me pasa:
Something else, asi si que funciona:
for idx_i, idx_j in square_coords(3):
for i, j in square_coords(3):
do_stuff()
#125
Y no es mejor
matriz=[[do_stuff(j) for j in i] for i in matriz]
Python hace las cosas muy fáciles si te dejas ;P
#126 me da la impresión de que no. Se puede adaptar pero el problema es que do_stuff depende de los indices i,j.
En tu ejemplo, i serian listas o arrays y entonces no podrían pasarse a do_stuff como tal. Se puede adaptar como:
result=[[do_stuff(i,j) for j in range(matriz.shape[1])] for i in range(matriz.shape[0])]
O quiza como:
result=[[do_stuff(i,j) for j, _ in enumerate(i2)] for i, i2 in enumerate(matriz)]
Pero al final no se si me parece mucho mas útil que:
for i, j in square_coords(3):
result[i,j] = do_stuff(i,j)
#128 yo para códigos sencillos si que suelo hacer uso de ella, para cosas mas complejas procuro no hacerlo demasiado porque se convierte en un jaleo
#131 Hay un momento que vale la pena cambiar a los típicos for en varias lineas que montar un jaleo en una xD
#133 Me refiero a una dentro de otra sucesivamente, hay un momento en el que es completamente ilegible.
De hecho creo que a partir de 3 generalmente decido escribirlo como for normales, o es completamente ilegible. Sí yo también soy de los for "i", "x" xD
Por si queréis ver la PyCon de este año:
https://www.youtube.com/channel/UCwTD5zJbsQGJN75MwbykYNw/videos
En especial esta:
voy a guardarme ese a ver
normalmemente siempre acabo viendo los que presentan herramientas y lo hacen un poco lento y me dan taquicardias ahí esperando
Alguien que controle de Scrapy puede decirme por donde es más fácil aprender? He estado mirando la documentación oficial pero no es lo que buscaba
#141 Yo aprendí a base de ver un ejemplo, adaptarlo a mis necesidades y luego ir buscando según necesidad. Hasta ahora casi todas las arañas que he hecho han tenido una estructura común y me está funcionando bastante bien
Os dejo este libro con ejercicios.
Learn Python the Hard Way
http://www.souravsengupta.com/int2pro2014/python/LPTHW.pdf
También lo tenéis en html
http://learnpythonthehardway.org/book/
Una charla un poco más avanzada, tocando el tema del multi-threading y sus problemas en Python.
Muy interesante.
#149 No, me refiero a ese con el plugin de Python. Básicamente con los plugins se convierte en un IDE de JAVA, Python, PHP y demás. Así te ahorras bajarte el PyCharm, PhpStorm y demás.