El pitón es un lenguaje el de programación de alto nivel primero lanzado por el Guido van Rossum en 1991. El pitón se diseña alrededor de una filosofía que acentúe legibilidad y la importancia de esfuerzo del programador sobre esfuerzo de la computadora. El sintaxis y la semántica de la base del pitón son el Minimalist, mientras que la biblioteca estándar es grande y comprensiva.
El pitón es un lenguaje de programación (sobre todo funcional, orientado al objeto y imprescindible) del multiparadigma que tiene completamente un tipo dinámico sistema del y utiliza la gerencia de memoria automática ; es así similar a Perl, al rubí, al esquema, y al Tcl .
La lengua tiene un modelo abierto, basado en la Comunidad del desarrollo manejado por la fundación no lucrativa del software del pitón. Mientras que las varias partes de la lengua tienen especificaciones formales y estándares, la lengua en conjunto no se especifica formalmente. El estándar de hecho del para la lengua es la puesta en práctica de CPython .
El pitón fue concebido a el final de los '80 por Guido van Rossum en el CWI en los Países Bajos como sucesor del lenguaje de programación del ABC capaz de la dirección de excepción y de la interconexión con el sistema operativo de la ameba. Van Rossum es autor principal del pitón, y su papel fundamental de continuación en decidir a la dirección del pitón es reconocido refiriéndole como su '' dictador benévolo para la vida '' (BDFL) .
En 1991, van Rossum publicó el código (etiquetado la versión 0. El contribuidor real era Amrit Prem; ninguna mención específica de cualesquiera balbucea herencia se menciona en las notas de lanzamiento en ese entonces.
La versión pasada lanzó del CWI era el pitón 1. En 1995, van Rossum continuó su trabajo en pitón en la corporación para las iniciativas nacionales (CNRI) de la investigación en el Reston, Virginia en donde él lanzó varias versiones del software.
Por la versión 1.4, el pitón había adquirido varias nuevas características. La persona notable entre éstos es las discusiones inspiradas (que de la palabra clave Modula-3 son también similares al campo común balbucean discusiones de la palabra clave de s de las '), y la ayuda incorporada para los números complejos también incluidos es una forma básica de la ocultación de datos al lado de destrucción conocido, aunque esto se puentea fácilmente.
Durante la estancia de van Rossum en CNRI, él puso en marcha la programación de computadora para todos iniciativa de (CP4E), preponiéndose hacer la programación de más accesible a más gente, con una “instrucción básica” en los lenguajes de programación, similares a las habilidades de la instrucción y de las matemáticas del inglés básico requeridas por la mayoría de los patrones. El pitón sirvió un papel fundamental en esto: debido a su foco en sintaxis limpio, era ya conveniente, y las metas de CP4E agujerean las semejanzas a su precursor, ABC. El proyecto fue financiado por DARPA . El en fecha 2007, el proyecto de CP4E es inactivo, y mientras que el pitón intenta ser fácilmente aprendible y no demasiado arcano en su sintaxis y semántica, que alcanza hacia fuera a los non-programmers no es una preocupación activa.
En 2000, el equipo de desarrollo de la base del pitón se trasladó al BeOpen.com para formar al equipo de PythonLabs de BeOpen. CNRI pidió que una versión 1.6 esté lanzada, resumiendo el desarrollo del pitón hasta el punto donde el equipo de desarrollo dejó CNRI. Por lo tanto, los horario del lanzamiento para 1.0 tenían una cantidad significativa de traslapo.0 era el primer y solamente el lanzamiento de BeOpen. Después de que el pitón 2.0 fuera lanzado por BeOpen.com, Guido van el Rossum y los otros reveladores de PythonLabs ensambló las creaciones de Digitaces.0 pidió prestada una característica importante Haskell de la lengua de la programación funcional : El sintaxis del pitón de las comprensiones de la lista para esta construcción es muy similar a Haskell, aparte de la preferencia de Haskell por carácteres de puntuación y la preferencia del pitón por palabras claves alfabéticas.0 también introdujo un sistema de la colección de basura capaz de recoger ciclos de referencia.1 era un trabajo derivado del pitón 1.1, así como del pitón 2. Su licencia fue retitulada la licencia de la fundación del software del pitón. Todo el código, documentación y especificaciones agregados, desde lanzamiento alfa del pitón 2.1's encendido, es poseído por la fundación (PSF), una organización no lucrativa del software del pitón formada en 2001, modelado después de la fundación del software de Apache.
Una innovación importante en el pitón 2.2 era la unificación de los tipos del pitón (tipos escritos en C), y de las clases (tipos escritos en pitón) en una jerarquía. Esta sola unificación hizo el modelo de objeto del pitón puramente y constantemente orientado al objeto. También fueron agregados los generadores que fueron inspirados por el icono .
Las adiciones estándar de la biblioteca del pitón y las opciones sintácticas fueron influenciadas fuerte por el Java en algunos casos: el paquete de logging, introducido en la versión 2.3, el programa de análisis del SAXOFÓN, introducido en 2.0, y el sintaxis del decorador que utiliza @, agregado en la versión 2.4
Una oferta del realce del pitón (o " PEP") es un documento estandardizado del diseño que proporciona relacionado con la información general al pitón, incluyendo ofertas, descripciones, y explicaciones para las características de lengua. Los PEPs se piensan como el canal primario para proponer nuevas características, y para documentar el análisis razonado subyacente del diseño para todos los elementos importantes del pitón. Los PEPs excepcionales son repasados y comentados por el BDFL.
Hay planes para una versión futura, ser llamado Python 3.0 (el proyecto se llama " Pitón 3000" o " Py3K") eso romperá compatibilidad hacia atrás con la serie 2.x para reparar defectos percibidos en la lengua. El principio rector está al " reducir la duplicación de la característica quitando viejas maneras de hacer el things". No hay horario definido para el pitón 3.0a1, el primer lanzamiento alfa, fue lanzado el el 31 de agosto, 2007, y un PEP (oferta del realce del pitón) ese los cambios previstos los detalles existe. El segundo lanzamiento alfa, 3.0a2, fue lanzado el el 7 de diciembre, 2007 .
No obstante, el pitón 3 seguirá siendo una lengua del multiparadigma. Los codificadores todavía tendrán opciones entre la orientación del objeto, la programación estructurada, la programación funcional, y programado Aspecto-orientado y otros paradigmas; pero dentro de tales opciones amplias, los detalles se piensan para ser más obvios en el pitón 3 que se han convertido en el pitón 2.
que cambia considera también: l software del pitón Algunos de los proyectos más grandes que utilizan el pitón son el servidor de aplicaciones de Zope, el almacén distribuido del archivo de Mnet, Youtube, y el cliente original de BitTorrent. Organizaciones grandes que hacen uso del pitón para incluir el Google y NASA . sistema de gestión de la reservación de s de Air Canada el 'se escribe en pitón. El pitón también ha visto uso extenso en la industria de la seguridad de información . Notablemente, en varias de las herramientas ofreció por Immunity Security, en varias de las herramientas ofrecidas por Core Security, en el Wapiti del explorador de la seguridad de uso del Web, y en el Fuzzer TAOF. El pitón es de uso general en el desarrollo de la hazaña. El pitón se ha encajado con éxito en un número de productos de software como una lengua scripting. Es de uso general en paquetes de la animación 3D, como en el maya, el Softimage XSI, el Modo, el arma nuclear y el mezclador . También se utiliza en taller de pintura favorable. El ESRI ahora está promoviendo el pitón como la mejor opción para las escrituras de la escritura en el ArcGIS . También se utiliza en la civilización IV como la lengua de control para la interacción el modding y del acontecimiento. El Eve en línea, un MMORPG, también se construye usar pitón. Para muchos sistemas operativos, el pitón es un componente estándar; envía con la mayoría de las distribuciones del linux, con FreeBSD, NetBSD, y OpenBSD, y con el Red Hat Linux del OS X. del mac y el sombrero de ala utilizan el Anaconda pythonic . El linux de Gentoo utiliza el pitón en su sistema de la gerencia del paquete, Portage, y la herramienta estándar para tenerle acceso, emerge . El Pardus la utiliza para la administración y durante cargador del sistema. considera también: l sintaxis y de la semántica del pitón El pitón fue diseñado para ser una lengua alto legible. Apunta hacia una disposición visual uncluttered, usar palabras claves inglesas con frecuencia donde otras idiomas utilizan la puntuación. El pitón requiere menos plancha de caldera que idiomas estructuradas estático-mecanografiadas tradicionales tales como C o Pascal, y tiene un número más pequeño de excepciones sintácticas y de casos especiales que cualquiera de éstos. El pitón utiliza la muesca/el whitespace, algo que los apoyos rizados o las palabras claves, delimitar los bloques de la declaración un aumento en la muesca vienen después de ciertas declaraciones; una disminución de la muesca significa el extremo del bloque actual. Las declaraciones del pitón incluyen: la declaración Cada declaración tiene su propia semántica: por ejemplo, la declaración de CPython no apoya las continuaciones y según Guido van Rossum, nunca. Sin embargo, una mejor ayuda para el Coroutine - como funcionalidad es proporcionado en 2.5, ampliando los generadores del pitón.5, los generadores eran &mdash perezoso de Iterators ; la información fue pasada unidirectionally del generador. En fecha el pitón 2.5, es posible pasar la información nuevamente dentro de una función del generador. El pitón utiliza el pato que mecanografía, también conocido como que mecanografía latente. El tipo apremios no se comprueba en el de tiempo de compilación; algo, las operaciones en un objeto pueden fallar, significando que el objeto dado no es de un tipo conveniente. A pesar de no hacer cumplir el que mecanografía estático, el pitón es el fuerte mecanografiado, las operaciones forbidding que tienen poco sentido (por ejemplo, agregando un número a una secuencia) algo que silenciosamente intentando tener sentido de ellas. El pitón incluye un número de tipos incorporados usados para una variedad de propósitos: El pitón de Stackless es una bifurcación significativa de CPython que ejecute el Microthreads que puede ser esperado para funcionar en aproximadamente las mismas plataformas que CPython funciona con encendido. Hay dos otras puestas en práctica importantes: Jython para la plataforma de Java, y IronPython para la plataforma . El PyPy es una puesta en práctica de Uno mismo-recibimiento experimental del pitón, en el pitón, que puede hacer salir una variedad de tipos de Bytecode, del código de objeto y de las idiomas intermedias Varios programas existen para empaquetar programas del pitón en executables independientes, incluyendo py2exe, PyInstaller, cx_Freeze y py2app. Muchos programas del pitón pueden funcionar en diversas puestas en práctica del pitón, en tales sistemas operativos dispar y los ambientes de la ejecución, sin cambio. En el caso de las puestas en práctica que funcionan encima de la máquina virtual de Java o del tiempo de pasada del lenguaje común, la plataforma-independencia de estos sistemas es enjaezada por su puesta en práctica respectiva del pitón. Muchas bibliotecas de tercera persona para el pitón (e incluso un cierto primero-partido unos) están solamente disponibles en Windows, linux, el DEB, y OS X. En el Nokia 2005 lanzó a intérprete del pitón para la serie 60 teléfonos móviles del llamados el PyS60 . Esto incluye muchos de los módulos de las puestas en práctica regulares pero también de algunos módulos adicionales para la integración con el sistema operativo de Symbian . Este proyecto se ha mantenido hasta la fecha para funcionar en todas las variantes de la plataforma S60 y hay varios módulos de tercera persona disponibles por ejemplo Miso y uitricks La mayoría de las puestas en práctica del pitón (CPython incluyendo, la puesta en práctica dominante) pueden funcionar como una Comando-línea intérprete del, donde el usuario incorpora declaraciones secuencialmente y recibe los resultados inmediatamente; en fin, actuando como cáscara . Mientras que la semántica de los otros modos de coto de la ejecución (compilación del bytecode, o compilación al código nativo) la semántica secuencial, ellas ofrece un alza de la velocidad en el coste de la interactividad, así que las se utilizan solamente fuera de una comando-línea interacción (por ejemplo, importando un módulo). Otras cáscaras agregan capacidades más allá de ésos en el intérprete básico, incluyendo la MARCHA LENTA y el IPython . Mientras que generalmente son siguientes el estilo visual de la cáscara del pitón, ejecutan características como la auto-terminación, la retención del estado de la sesión, y destacar del sintaxis. Algunas puestas en práctica pueden compilar no sólo al bytecode, pero dar vuelta a código del pitón en el código automático . Hasta ahora, esto se ha hecho solamente para los subconjuntos restrictos de pitón. PyPy toma este acercamiento, nombrando su versión compilable restricta RPython pitón. La piel de la vertiente es un recopilador experimental similar . El Psyco es un que especializa el recopilador del apenas a tiempo que transforma el bytecode al código automático en el tiempo de pasada. El código producido se especializa para ciertos tipos de datos . Psyco es compatible con todo el código del pitón, no sólo un subconjunto. La biblioteca estándar está particularmente bien adaptada a los usos del Internet-revestimiento de la escritura, con una gran cantidad de formatos estándares y de protocolos (tales como MIME y HTTP ) apoyados. Los módulos para crear los interfaces utilizador gráficos que conectan con las bases de datis relacionales aritmética con decimales arbitrariamente exactos, y las expresiones regulares de manipulación también se incluyen. El pitón también incluye un marco de la prueba de la unidad para crear habitaciones de prueba exhaustivas. Algunas partes de la biblioteca estándar son cubiertas por especificaciones (por ejemplo, la puesta en práctica Otra blanco del diseño de la lengua es facilidad de la extensibilidad, algo que teniendo todo incorporada a la base de la lengua. Los nuevos módulos incorporados se escriben fácilmente en el C o el C++ . El pitón puede también ser utilizado como lengua de la extensión para los módulos existentes y los usos que necesitan un interfaz programable. Este diseño, de una pequeña lengua de la base con una biblioteca estándar grande y un intérprete fácil-extensible, fue pensado por van Rossum mismo del comienzo, debido a sus frustraciones con el ABC, que desposó el modo de pensar opuesto. Mientras que la opción de ofrecimiento en la codificación de la metodología, la filosofía del pitón rechaza sintaxis exuberante, por ejemplo en Perl, a favor de un más escaso, estorbó menos uno. Como con el Perl, los reveladores del pitón expreso promueven un " particular; culture" o la ideología basada en lo que quisieran que la lengua fuera, favoreciendo a formas de lengua los ven como " beautiful", " explicit" y " simple". Como el Alex Martelli lo puso en su libro de cocina (2do ed.230) del pitón del : " Para describir algo como listo no se considera un elogio en el pitón culture." La filosofía del pitón rechaza el " del Perl; El allí es más que una forma para hacerla " de ; acercamiento al diseño de la lengua a favor del " debe haber uno-y preferiblemente solamente manera uno-obvia de hacer el it". El pitón evita la optimización prematura, y por otra parte, los remiendos de los rechazos a las partes no críticas de CPython que ofrecerían un aumento marginal en velocidad en el coste de claridad. Se describe a veces como “lento”, pero su velocidad es raramente un problema puesto que la mayoría del código no es velocidad crítica; los embotellamientos se pueden optimizar a menudo grandemente por mejoras a las estructuras de los algoritmos o de datos, o ejecutando pequeñas porciones en " más cercano al metal" idiomas. En cambio, una marca del código unpythonic del es que intenta al " escribir el código de C++ (o balbucea, o el Perl) en Python" - es decir, proporciona una transcripción áspera algo que una traducción idiomática de formas de otra lengua. El concepto de pythonicity está limitado firmemente a la filosofía minimalista del pitón de la legibilidad. El código ilegible o los idiomas incomprensibles es unpythonic. Usuarios y admiradores del Pitón-más especialmente que ésos consideraban bien informado o experimentado-que se refieren a menudo como Pythonists, del Pythonistas, y del Pythoneers . El PY del prefijo se puede utilizar para demostrar que algo está relacionado con el pitón. Los ejemplos del uso de este prefijo en nombres de los usos o de las bibliotecas del pitón incluyen el Pygame, un que ata SDL al pitón (de uso general crear juegos); PyS60 una puesta en práctica para el sistema operativo de la serie 60 de Symbian, PyQt y PyGTK, que atan el cuarto de galón y el GTK, respectivamente, al pitón; y PyPy, una puesta en práctica del pitón escrita en pitón. El prefijo también se utiliza fuera de nombrar paquetes de programas informáticos: la conferencia principal del pitón se nombra PyCon . Una meta importante de los reveladores del pitón se está riendo el pitón para utilizar. Esto se refleja en el origen del nombre (después del circo del vuelo de Monty Python de la serie de televisión), en la práctica común de usar las referencias de Monty Python en código del ejemplo, y en un acercamiento de vez en cuando juguetón a las clases particulares y a los materiales de referencia. Por ejemplo, las variables de Metasyntactic de uso frecuente en literatura del pitón son '' Spam '' y los '' huevos '', en vez tradicional '' foo '' y de la '' barra '' . herencia del pitón de s del abucheo la 'es un &mdash más explícito; también utiliza la muesca, un sintaxis similar, y un modelo de objeto similar. El abucheo, sin embargo, utiliza el que mecanografía estático y se integra de cerca con el marco . Las prácticas del desarrollo del pitón también han sido emuladas por otras idiomas. El sistema de requerir un documento que describe el análisis razonado para y las ediciones que rodean un cambio a la lengua (IE, un PEP) también se utiliza en el Tcl directo debido a la influencia del pitón. .
print de modo que sea una función incorporada, no una declaración. Esto hace más fácil cambiar un módulo para utilizar una diversa función de impresión, así como la fabricación del sintaxis más regular.6 esto puede ser permitida incorporando la importación print_function del __future del from.
reduce de mudanza (pero no map o filter) fuera del namespace incorporado y en functools (el análisis razonado que es ese reduce se expresa más claramente como lazo de la acumulación);
Agregando la ayuda para las anotaciones opcionales de la función que se pueden utilizar para el tipo informal declaraciones u otros propósitos;
Unificando los tipos de str/unicode, representando el texto, y la introducción de un tipo inmutable separado de bytes; y un tipo mutable sobre todo correspondiente de buffer, que ambos representan órdenes de los octetos
La eliminación de al revés-compatibilidad ofrece, incluyendo clases antiguas, la división número-que trunca, excepciones de la secuencia, e importaciones relativas implícitas. Uso
Sintaxis y semántica
if, que ejecuta condicional un bloque de código, junto con else y elif (una contracción de otro-si).
La declaración, que for itera sobre un iterable, capturando cada elemento a una variable local para uso del bloque atado.
La declaración de class, que ejecuta un bloque de código y ata su namespace local a una clase, para el uso en la programación orientada al objeto .
La declaración de def, que define una función .
La declaración de with que incluye un código de bloque dentro de un encargado del contexto (por ejemplo, adquiriendo una cerradura antes de que el bloque de código se funcione con, y lanzando la cerradura luego). def no ejecuta su bloque inmediatamente, desemejante de la mayoría de las otras declaraciones. Puestas en práctica
La puesta en práctica de corriente del pitón, también conocida como CPython del, se escribe en el C obediente al estándar C89, y se distribuye con una biblioteca estándar grande escrita en una mezcla de C y de pitón. CPython envía para una gran cantidad de plataformas apoyadas, incluyendo el Microsoft Windows y la mayoría moderno Unix-como sistemas de . CPython casi fue pensado de su mismo concepto para ser cruz-plataforma; su uso y desarrollo en las plataformas esotéricas tales como ameba junto las más convencionales como el Unix o el Macintosh ha ayudado grandemente a este respecto. Semántica interpretativa
¡ Biblioteca estándar
El pitón tiene una biblioteca estándar grande, citada comúnmente como una de las fuerzas más grandes del pitón, proporcionando las herramientas adecuadas a muchas tareas dispares. Esto viene de un " supuesto; included" de las baterías; filosofía para los módulos del pitón. Los módulos de la biblioteca estándar se pueden aumentar con los módulos de encargo escritos en C o pitón. Recientemente, las bibliotecas del alza C++ incluyen una biblioteca, pitón, para permitir interoperabilidad entre C++ y el pitón. Debido a la gran variedad de herramientas proporcionadas por la biblioteca estándar combinada con la capacidad de utilizar una lengua de nivel inferior tal como C y C++, que es ya capaz de la interconexión entre otras bibliotecas, el pitón puede ser una lengua de gran alcance del pegamento entre las idiomas y las herramientas. wsgiref WSGI sigue PEP 333), pero nada define a la mayoría de módulos con excepción de su habitación del código, de la documentación y de prueba. Sin embargo, porque la mayor parte de la biblioteca estándar es código del pitón de la cruz-plataforma, hay solamente una pequeña cantidad de módulos que se deben alterar o reescribir totalmente por puestas en práctica alternativas. Filosofía programada
El pitón es un lenguaje de programación del multiparadigma. Esto significa que, algo que forzando a programadores a adoptar un estilo particular de la programación, permite varios estilos: La orientación del objeto y la programación estructurada apoyo total, y hay un número de características de lengua que apoyan la programación funcional y programado Aspecto-orientado . Muchos otros paradigmas se apoyan usar extensiones, tales como pyDBC y contratos para el pitón que permitan diseño de Contract . El pitón utiliza el que mecanografía dinámico y una combinación de referencia que cuenta y de un ciclo que detecta el colector de basura para la gerencia de memoria . Una característica importante del pitón es el name resolution dinámico, que ata método y nombres variables durante la ejecución de programa (también conocida como último atascamiento ). Neologismos
Un neologismo común en la comunidad del pitón es el pythonic, que puede tener una amplia gama de los significados relacionados con el estilo del programa. Para decir que un pedazo de código es pythonic es decir que utiliza idiomas del pitón bien; que es natural o demuestra fluidez en la lengua. Asimismo, decir de un interfaz o de una característica de lengua que es pythonic es decir que trabaja bien con idiomas del pitón; que su uso endienta bien con el resto de la lengua. Influencias en otras idiomas
El diseño y la filosofía del pitón han influenciado varios lenguajes de programación:
La cobra es también similar al pitón, usar la muesca para los bloques. También utiliza los parásitos atmosféricos que mecanografían y genera el código diseñado para . La cobra apoya directo contratos del diseñar-por-contrato.
El ECMAScript pidió prestadas los iterators, los generadores y las comprensiones de la lista de la puesta en práctica del pitón.
El maravilloso fue motivado por el deseo de traer la filosofía de diseño del pitón al Java . Ver también
la comparación la computadora descasca
Comparación de los lenguajes de programación
Lista de usos escritos en el pitón
Lista de entornos de desarrollo integrados para el pitón
Lengua Scripting Random links: Tierra (simulación de computadora) | Octamer de la histona | James Caird (barco) | Samba de Oxford BOP | Ichthyosaurus