El gran libro de Python. Marco Buttu

Чтение книги онлайн.

Читать онлайн книгу El gran libro de Python - Marco Buttu страница 12

Автор:
Серия:
Издательство:
El gran libro de Python - Marco Buttu

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

href="#fb3_img_img_f1d5b533-9356-54d1-ab8b-abd86e5beb99.jpg" alt="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 one thing well, según la cual cada programa debe realizar una única cosa, pero bien hecha. Sin embargo, hacer una cosa bien no significa hacerla perfectamente. La perfección en el mundo real no existe, por lo que, según la frase la practicidad vence a la pureza, debemos hacer las cosas bastante bien, como sugiere también Alex Martelli en su charla titulada Good enough is good enough: http://pyvideo.org/video/1738/good-enough-is-good-enough.

      Si

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