Ahora que Python 2.6 está fuera, ¿qué módulos actualmente en el lenguaje deberían conocer todos los programadores?

StackOverflow https://stackoverflow.com/questions/168727

Pregunta

Muchas características útiles en Python están algo ocultas " " dentro de los módulos. Las tuplas con nombre (nuevas en Python 2.6 ), por ejemplo, se encuentran en el colecciones módulo.

La página de documentación de la biblioteca le proporcionará todos los módulos en el idioma, pero los recién llegados a Python es probable que se encuentren diciendo "¡Oh, no sabía que podría haberlo hecho de esta manera utilizando Python! " a menos que las funciones importantes en el lenguaje sean señaladas por los desarrolladores experimentados.

No estoy específicamente buscando nuevos módulos en Python 2.6, sino módulos que se pueden encontrar en esta última versión.

¿Fue útil?

Solución

Bibliotecas esenciales

El principal desafío para un programador experimentado que viene de otro idioma a Python es descubrir cómo un idioma se asigna a otro. Aquí hay algunas bibliotecas esenciales y cómo se relacionan con los equivalentes de Java.

os, os.path 

Tiene funcionalidad como en java.io.File, java.lang.Process, y otros. Pero más limpio y sofisticado, con sabor a Unix. Utilice os.path en lugar de os para una funcionalidad de nivel superior.

sys 

Manipule el sys.path (que es como el classpath), registre los controladores de salida (como en java Runtime object), y acceda a las secuencias de E / S estándar, como en java.lang.System.

unittest 

JUnit muy similar (y basado en), con dispositivos de prueba y arneses ejecutables.

logging 

Funcionalidad casi idéntica a log4j con loglevels y loggers. (el registro también se encuentra en la biblioteca java.util.Logging estándar)

datetime  

Permite el análisis y el formato de fechas y horas, como en java.text.DateFormat, java.util.Date y relacionadas.

ConfigParser  

Permite la configuración persistente como en un archivo de propiedades de Java (pero también permite el anidamiento). Use esto cuando no quiera la complejidad de XML o un backend de base de datos.

socket, urllib 

Funcionalidad similar a la que está en java.net, para trabajar con cualquiera de los sockets o para recuperar contenido a través de URL / URI.

Además, tenga en cuenta que muchas de las funciones básicas, como leer archivos y trabajar con colecciones, se encuentran en el lenguaje Python principal, mientras que en Java viven en paquetes.

Otros consejos

El nuevo módulo más impresionante es probablemente el módulo multiprocessing . Primero, porque le permite ejecutar funciones en nuevos procesos con la misma facilidad y con aproximadamente la misma API que con el módulo threading . Pero lo que es más importante, ya que introduce muchas clases geniales para la comunicación entre procesos, como la clase Queue y la clase Lock , que se utilizan al igual que los objetos que se usan en código multiproceso, así como algunas otras clases para compartir memoria entre procesos.

Puede encontrar la documentación en http://docs.python.org/library/multiprocessing .html

El nuevo json módulo es una verdadera bendición a los programadores web !! (Era conocido como simplejson antes de integrarse en la biblioteca estándar. )

Es ridículamente fácil de usar: json.dumps (obj) codifica un objeto Python integrado en una cadena JSON, mientras que json.loads (cadena) descodifica una cadena JSON en un objeto Python.

Realmente muy útil.

Puede ser PEP 0631 y Lo nuevo en 2.6 puede proporcionar elementos de respuesta. Este último artículo explica las nuevas características de Python 2.6, lanzadas el 1 de octubre de 2008.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top