El gran libro de Python. Marco Buttu

Читать онлайн.
Название El gran libro de Python
Автор произведения Marco Buttu
Жанр Математика
Серия
Издательство Математика
Год выпуска 0
isbn 9788426729057



Скачать книгу

en la shell interactiva, aparece en la pantalla la documentación del método str.split():

image

      La documentación nos dice que str.split() acepta un primer argumento opcional que indica el elemento según el cual debe dividirse la cadena:

image

      Ahora debemos ejecutar la suma de los elementos. En la sección Funciones y clases integradas hemos podido comprobar que la función integrada sum() realiza la suma de los elementos de una secuencia. Para poderlos sumar antes debemos convertirlos en números enteros:

image

      Esta es una sintaxis denominada lista por comprensión (list comprehension), que nos permite hacerlo de un modo más conciso:

image

      Podemos usar esta sintaxis para generar en línea el argumento que se debe pasar a sum():

image

      En realidad, en este caso podemos utilizar una sintaxis todavía más sencilla, denominada expresión generadora (en inglés, generator expression), que veremos en el ejercicio final de este capítulo y de manera más detallada en el Capítulo 3:

image

      Ahora tenemos toda la información que sirve para escribir nuestro programa:

image

      La función integrada help() recaba la mayor parte de la información accediendo a cada una de las cadenas de texto de la documentación, denominadas cadenas de documentación (en inglés, documentation string o, de manera más sencilla, docstring). Las cadenas de documentación se utilizan para documentar los módulos, las clases, los métodos y las funciones, y se ubican en la parte superior del cuerpo de estos elementos. La PEP-0257 sugiere utilizar las triples comillas para delimitar el texto de las cadenas de documentación, incluso si ocupan una sola línea. Consideremos la siguiente función:

image

      La primera línea del cuerpo de doubling() es una cadena de documentación y se asigna al atributo _ _doc_ _:

image

      La función integrada help() obtiene la información del objeto accediendo a este atributo, como muestra el resultado de help(doubling):

image

      NOTA

      Observad que hemos llamado a help(doubling) y no a help(doubling()). Cuando pasamos a help() un objeto llamable no debemos utilizar el paréntesis, puesto que si no, llamamos al objeto y, en lugar de pasar a help() la función, le pasamos el objeto que ha devuelto.

      Podemos obtener la documentación de los métodos de los tipos de datos básicos calificándolos tanto con la clase como con la instancia:

image

      El Zen de Python

      El 3 de junio de 1999, Patrick Phalen envió un mensaje a la python-list, titulado The Python Way. En él básicamente sugería a Guido van Rossum y Tim Peters escribir un documento con 10 o 20 aforismos que pudieran resumir el espíritu del lenguaje, una especie de Zen de Python:

      ¿Estarían dispuestos Guido e Tim Peters a colaborar en la elaboración de un breve documento -- llamémoslo “The Python Way” en ausencia de un título mejor -- que contenga 10 o 20 líneas para guiar a aquellos que se acercan a Python desde otros lenguajes, y que quieren conocer inmediatamente la manera de utilizarlo de forma correcta en aquellas situaciones más insidiosas (aplicar el cierre, etc.)?

      Yo pensaba en un tipo de introducción muy breve, una especie de "Elementos de Estilo" de Strunk & White para Python, que listara las típicas recomendaciones fundamentales para escribir el código según el espíritu del lenguaje. Estoy hablando de una especie de Zen de Python -- algo a lo que acudir y consultar cuando aparecen demasiadas lamentaciones del tipo “fix Python now”.

      Mensaje original:

      http://mail.python.org/pipermail/python-list/1999-June/014096.html.

      Al día siguiente, Tim Peters respondió a Patrick listando 19 aforismos y terminó diciendo:

      Aquí están: exactamente 20 tesis pythónicas, contando la que dejo que escriba Guido. Si las respuestas a cualquier problema de diseño con Python no resultan obvias después de haberlas leído, entonces me retiro.

      Mensaje original:

      http://mail.python.org/pipermail/python-list/1999-June/001951.html.

      El número 20 nunca ha llegado, y estos 19 aforismos han sido recogidos en la PEP-0020, The Zen of Python, escrita en 2004 por el mismo Tim Peters.

      NOTA

      Otro importante documento, que indica las directrices de comportamiento, es el Code of Conduct (Código de conducta), aprobado en abril de 2013 por la PSF. A diferencia del Zen de Python, que se centra en el código, el código de conducta pone su atención en el comportamiento para mantenerse en la comunidad Python; más concretamente, describe a un miembro de la comunidad Python como: abierto (open), considerado con los otros miembros (considerate) y respetuoso (respectful). El documento se encuentra disponible en la página: http://www.python.org/psf/codeofconduct/.

      El módulo this de la librería estándar también está dedicado al Zen. En realidad, este módulo es más que un simple reclamo a los 19 aforismos: es un huevo de Pascua. Está escrito de manera que se pueda visualizar el Zen cuando se importa y, al mismo tiempo, que represente un claro ejemplo de aquello que no se debe hacer.

      El origen del módulo this se remonta al año 2001, cuando, en ocasión de la décima International Python Conference (todavía no existía la Python Conference – PyCon), se estaba buscando un eslogan para estampar en las camisetas. Había distintas propuestas, pero al final la elección recayó en import this. Una vez elegido el eslogan, solo faltaba implementar un módulo denominado this. Y este fue el resultado:

image image

      Dudo que alguien entienda el significado de todo esto. El módulo ha sido escrito especialmente así, como ejemplo para dar a entender la importancia de seguir el Zen de Python:

image

      Y esta es la traducción en español:

image

      Si la validez de estas reglas nos ha convencido, podemos pasar a la siguiente sección; en caso contrario, será mejor que continuemos leyendo:

image image

      Python, además, sigue la conocida filosofía de Unix, doing