El gran libro de Python. Marco Buttu
Чтение книги онлайн.
Читать онлайн книгу El gran libro de Python - Marco Buttu страница 25
mientras que en los sistemas Windows se refiere al módulo ntpath:
Por tanto, si llamamos a la función os.path.join() desde un sistema Unix- like, en realidad la función que estamos llamando es posixpath.path.join(), mientras que si llamamos a os.path.join() desde un sistema Windows, estamos llamando realmente a la función ntpath.path.join().
Acabamos esta introducción al módulo os con un consejo: leed la documentación online del sitio oficial, que encontraréis en la página http://docs.python.org/3/library/ os.html.
Listas por comprensión
El bucle for más interno itera en las líneas del archivo. Para cada línea se crea una lista de los elementos convertidos en float:
La expresión [float(item) for item in line.split()] es una lista por comprensión. Si ha cemos memoria, recordaremos que ya hemos hablado de ella en la sección La función integrada help() y las cadenas de documentación, en la cual hemos dicho que es una expresión que permite crear una lista con una sintaxis elegante y compacta. Retomemos de nuevo el argumento, dejando para el Capítulo 2 un trato más detallado.
Vamos a intentar entender qué hace exactamente nuestra lista por comprensión, partiendo del método line.split():
Como podemos ver, line.split() devuelve una lista de los elementos de la cadena de texto. Sin embargo, esta lista no puede ser utilizada para calcular una suma, porque sus elementos son cadenas y no números:
Por tanto, es preciso obtener una lista cuyos elementos sean float y no str. Una solución podría ser la siguiente:
En cambio, la solución que hemos adoptado en nuestro script utiliza una lista por comprensión y, como podemos ver, es mucho más compacta y elegante que la anterior:
Su sintaxis es autoexplicativa: cada elemento item de line.split() se convierte en float y se inserta en la lista.
Expresiones de formato de las cadenas de texto
Todavía nos falta una pieza para completar el rompecabezas:
NOTA
A partir de Python 3.4, la mejor manera de calcular la media es utilizando la función mean() del módulo statistics. Para más información, consultad la documentación oficial, en la página http://docs.python.org/3/library/statistics.html.
El símbolo % en el interior de una cadena se muestra de por sí como el resto de los caracteres:
Sin embargo, si la cadena es seguida por un símbolo % que, a su vez, es seguido por un literal o una etiqueta, el %f en el interior de la cadena tiene un significado especial:
Como podemos ver, el %f ha sido sustituido respectivamente por el literal y por la etiqueta que siguen al símbolo % fuera de la cadena. El carácter f indica que el literal o la etiqueta se convertirán en float:
También es posible especificar el número de las cifras decimales a visualizar. Para ello, se ubica el .numero_cifre delante de la f, como se muestra a continuación:
Si queremos dar formato a más objetos a la vez, debemos agruparlos en una tupla detrás del símbolo % fuera de la cadena, como se muestra a continuación:
Además de la aplicación de formato con conversión en float mediante %f, también es posible utilizar otras codificaciones. Por ejemplo, %d convierte en entero, %s, en cadena, entre otros. Veremos todos los posibles modos de formato de las cadenas en el Capítulo 2.
Si releemos el script dataout.py, nos daremos cuenta de que todo aquello que inicialmente nos parecía incomprensible ahora ya tiene sentido.
Ahora que tenemos una visión de conjunto del lenguaje, podemos afrontar con soltura los próximos capítulos.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.