Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuáles son las ventajas técnicas de Python? ¿Cómo es mejor que otros idiomas?

¿Cuáles son las ventajas técnicas de Python? ¿Cómo es mejor que otros idiomas?

Cuáles son las ventajas técnicas de Python

1. Orientado a objetos y funcional

Básicamente hablando, Python es un lenguaje orientado a objetos. Su modelo de clase admite conceptos avanzados como polimorfismo, sobrecarga de operadores y herencia múltiple, y con la sintaxis y los tipos concisos únicos de Python como fondo, la programación orientada a objetos es muy fácil de usar. De hecho, incluso si no comprende estos términos, descubrirá que aprender Python es mucho más fácil que aprender otros lenguajes de programación orientada a objetos.

Además de ser un poderoso medio de organización y reutilización de código, la naturaleza OOP de Python lo convierte en una herramienta de programación ideal para otros lenguajes de sistemas orientados a objetos. Por ejemplo, con el código adhesivo adecuado, los programas Python pueden crear subclases de clases personalizadas de C, Java y C#.

OOP es solo una opción para Python, lo cual es muy importante. Incluso si no puedes convertirte en un maestro orientado a objetos de inmediato, aún puedes continuar aprendiendo en profundidad. Al igual que C, Python admite patrones de programación tanto orientados a objetos como procedimentales. Si las condiciones lo permiten, sus herramientas orientadas a objetos pueden resultar útiles de inmediato. Esto es útil para el patrón de desarrollo de estrategias, que a menudo se utiliza en la fase de diseño del desarrollo de software.

Además de los paradigmas originales de programación procedimental (basada en declaraciones) y orientada a objetos (basada en clases), Python ha incorporado en los últimos años soporte para la programación funcional, un método que en la mayoría de los casos implica generando Una colección de derivaciones, cierres, mapas, decoradores, funciones lambda anónimas y objetos de funciones de primera clase. Este es un complemento y reemplazo de sus propias herramientas OOP.

2. Gratis

El uso y distribución de Python es completamente gratuito. Al igual que otros software de código abierto, como Tcl, Perl, Linux y Apache. Puede obtener el código fuente de Python de forma gratuita en Internet. Puede copiar Python sin restricciones e incrustarlo en su sistema o enviarlo con un producto. De hecho, incluso puedes vender su código fuente si lo deseas.

Pero no me malinterpretes: "gratis" no significa "sin soporte". Por el contrario, la comunidad online de Python responde a las necesidades de los usuarios tan rápidamente como el software comercial. Además, debido a que Python es completamente de código abierto, mejora la fortaleza de los desarrolladores y genera un gran equipo de expertos.

Aunque estudiar o cambiar la implementación de un lenguaje de programación no es tan divertido para todos, es muy reconfortante saber que puedes hacerlo si surge la necesidad. No necesita confiar en la sabiduría de los proveedores comerciales, porque la documentación final y el terreno puro definitivo (código fuente) están a su disposición.

El desarrollo de Python está impulsado por la comunidad y es el resultado de un esfuerzo colaborativo a gran escala en Internet. Los cambios en el lenguaje Python deben seguir un procedimiento estandarizado y vinculante (llamado proceso PEP) y deben ser verificados exhaustivamente mediante un sistema de prueba estandarizado. Es esto lo que permite que Python siga mejorando de forma conservadora en comparación con otros lenguajes y sistemas.

Aunque la división entre Python 2.

3. Portátil

La implementación estándar de Python está escrita en ANSI C portátil y se puede compilar y ejecutar en todas las plataformas convencionales actuales. Por ejemplo, se puede ver a Python ejecutándose en todas partes, desde PDA hasta supercomputadoras.

Python se puede ejecutar en las siguientes plataformas (esta es solo una lista parcial):

Sistemas Linux y UNIX

Microsoft Windows (todas las versiones modernas)

Mac OS (incluidos OS /p>

PDA con Palm OS, PocketPC y Linux

Teléfonos móviles con Symbian OS y Windows Mobile

Terminales de juegos y iPods

Ejecute tabletas y teléfonos inteligentes con el sistema Google Android y el sistema Apple iOS

Y más

Además del intérprete de idiomas en sí, las bibliotecas y módulos estándar que vienen con Python también se implementan en Cross -Se ha tenido en cuenta al máximo la portabilidad de la plataforma. Además, los programas Python se compilan automáticamente en códigos de bytes portátiles que producen los mismos resultados cuando se ejecutan en plataformas que tienen instalada una versión compatible de Python.

Esto significa que el lenguaje central y la biblioteca estándar de los programas Python pueden ejecutarse sin distinción en Linux, Windows y otras plataformas con intérpretes de Python. La mayoría de las interfaces periféricas de Python tienen extensiones específicas de plataforma (por ejemplo, soporte COM para Windows), pero el lenguaje principal y las bibliotecas son los mismos en cualquier plataforma.

Como mencionamos antes, Python también incluye un kit de herramientas Tk GUI llamado tkinter (versión 2.X de Tkinter), que puede hacer que los programas Python sean completamente funcionales sin tener que hacerlo. Una interfaz gráfica de usuario que se puede ejecutar en todos principales plataformas de escritorio GUI con cualquier modificación.

4. Potente

Desde la perspectiva de las características del lenguaje, Python es un híbrido. Su rico conjunto de herramientas lo ubica en algún lugar entre los lenguajes de secuencias de comandos tradicionales (como Tcl, Scheme y Perl) y los lenguajes de sistemas (como C, C++ y Java). Python ofrece la simplicidad y facilidad de uso de todos los lenguajes de programación, con las herramientas avanzadas de ingeniería de software que se encuentran en los lenguajes compilados.

A diferencia de otros lenguajes de scripting, esta combinación hace que Python sea muy útil en proyectos de desarrollo a largo plazo y a gran escala. La siguiente es una introducción a algunas herramientas de la caja de herramientas de Python:

Escritura dinámica

Python rastrea el tipo de objetos durante la ejecución del programa, sin necesidad de tipos y tamaños complejos en la declaración del código. De hecho, no existe la declaración de tipo o variable en Python. Debido a que el código Python no restringe el tipo de datos, a menudo aplica automáticamente un objeto generalizado.

Gestión automática de memoria

Python asigna automáticamente espacio para los objetos y revocará automáticamente el espacio ("recolección de basura") cuando el objeto ya no se utilice, expandiéndose o encogiéndose automáticamente cuando sea necesario. Como aprenderá, Python puede manejar la administración de memoria de bajo nivel por usted.

Soporte de programas a gran escala

Para construir sistemas a mayor escala, Python incluye herramientas como módulos, clases y excepciones. Estas herramientas le permiten organizar su sistema en componentes, reutilizar y personalizar código usando programación orientada a objetos y manejar eventos y errores de una manera elegante. Las herramientas de programación funcional de Python mencionadas anteriormente proporcionan otras formas de lograr el mismo objetivo.

Tipos de objetos integrados

Python proporciona estructuras de datos de uso común como componentes básicos del lenguaje. Por ejemplo, lista, diccionario, cadena. Como veremos, son flexibles y fáciles de usar. Por ejemplo, los objetos integrados se pueden ampliar o contraer según las necesidades y la información compleja se puede organizar de forma arbitraria.

Herramientas integradas

Para procesar los tipos de objetos anteriores, Python viene con muchas operaciones estándar poderosas, que incluyen concatenación, división, clasificación y mapeo, etc.

Herramientas de biblioteca

Para completar tareas más específicas, Python viene con muchas herramientas de biblioteca precodificadas, que van desde la coincidencia de expresiones regulares hasta el soporte de red. Una vez que domine el lenguaje en sí, podrá utilizar las herramientas de la biblioteca de Python para operaciones a nivel de aplicación.

Herramientas de terceros

Dado que Python es de código abierto, anima a los desarrolladores a proporcionar herramientas de precodificación además de las herramientas integradas de Python. Puede encontrar en línea muchas herramientas de soporte gratuitas para COM, procesamiento de imágenes, programación numérica, XML, acceso a bases de datos, etc.

Además de esta serie de herramientas de Python, Python mantiene una sintaxis y un diseño bastante simples. El resultado de todo esto es una potente herramienta de programación con toda la usabilidad de un lenguaje de scripting.

Haga clic para ingresar la descripción de la imagen

5. Mezclable

Los programas Python se pueden "pegar" fácilmente de diversas maneras con componentes escritos en otros idiomas. . Juntos. Por ejemplo, la API del lenguaje C de Python puede ayudar a los programas Python a llamar a programas C de manera flexible. Esto significa que puede agregar funcionalidad a los programas Python según sea necesario o usar Python en otros entornos.

Por ejemplo, mezclar Python con C o archivos de biblioteca escritos en C convierte a Python en un lenguaje de interfaz de usuario y una herramienta de personalización. Como mencionamos antes, esto hace de Python una buena herramienta de creación rápida de prototipos; el sistema se puede implementar en Python para mayor velocidad en las primeras etapas de desarrollo y luego pasar a C, implementando gradualmente el sistema de acuerdo con las necesidades de rendimiento en diferentes momentos.

6. Relativamente simple y fácil de usar

En comparación con otros lenguajes (como C, Java y C#), la programación en Python es sorprendentemente fácil para la mayoría de los usuarios. Para ejecutar un programa Python, simplemente escriba el programa Python y ejecútelo. No hay necesidad de pasos intermedios como compilación y vinculación que son necesarios en otros lenguajes como C o C++.

Python puede ejecutar programas inmediatamente, lo que crea una experiencia de programación interactiva y la capacidad de realizar ajustes rápidamente en diferentes circunstancias. A menudo, puedes ver los efectos de los cambios en el programa casi inmediatamente después de modificar el código.

Por supuesto, el corto ciclo de desarrollo es sólo un aspecto de la facilidad de uso de Python. Python proporciona una sintaxis concisa y potentes herramientas integradas. De hecho, Python alguna vez fue llamado "pseudocódigo ejecutable". Debido a que reduce la complejidad común en otras herramientas, los programas Python son más simples, más pequeños y más flexibles que los programas escritos en otros lenguajes populares cuando logran la misma funcionalidad.

Haga clic para ingresar la descripción de la imagen

7. Relativamente simple y fácil de aprender

Esta parte resalta el enfoque del libro: especialmente en comparación con Otros lenguajes de programación ampliamente utilizados, el núcleo del lenguaje Python es bastante simple y fácil de aprender. De hecho, si es un programador experimentado, puede esperar escribir código Python a pequeña escala en unos pocos días y es posible que pueda aprender trucos de Python en unas pocas horas, pero no puede esperar convertirse en un experto en tal tema. corto período de tiempo (olvídese de todo el bombo).

Por supuesto, dominar cualquier tema sustancial como Python hoy en día no es tarea fácil, y dedicaremos el resto de este libro a esta tarea. Pero la verdadera inversión para dominar Python bien vale la pena: terminará con habilidades de programación que son aplicables en casi todas las áreas de las aplicaciones informáticas. Además, muchas personas encuentran que Python tiene una curva de aprendizaje más suave que otros lenguajes de programación.

Esta es una buena noticia para los profesionales que quieran aprender el lenguaje para aplicarlo en su trabajo, y también para los usuarios finales de sistemas que utilizan la capa Python para su personalización y control. Muchos sistemas actuales dependen del hecho de que los usuarios pueden aprender suficiente Python para agregar o eliminar su código de personalización de Python en el momento, con poco o ningún soporte.

Además, Python también ha generado un grupo de usuarios que no programan para ganarse la vida, sino para divertirse. No necesitan dominar habilidades integrales de desarrollo de software. Aunque Python todavía tiene muchas herramientas de programación avanzadas, la esencia del lenguaje central de Python sigue siendo bastante simple tanto para principiantes como para expertos.

8. El nombre de Monty Python

Bien, después de hablar de tantas ventajas técnicas, quiero revelar otra cosita sorprendente y bien conservadora en el mundo de Python.

Aunque hay muchos reptiles en los libros e íconos de Python, la verdad es que Python lleva el nombre del grupo de comedia británico "Monty Python", el nombre de la comedia de la BBC "Monty Python's Flying Circus" en la década de 1970. Productores de un puñado de películas importantes que todavía son populares en la actualidad, incluidas Monty Python y Holy Grai. El creador original de Python era un fan de Monty Python, como muchos otros desarrolladores de software (de hecho, existe una cierta simetría entre los dos campos...).

Haga clic para ingresar la descripción de la imagen

▲ El reptil en la portada del "Manual de aprendizaje de Python"

Esta interesante historia sin duda aumenta la popularidad del código Python ejemplos Atributos del humor. Por ejemplo, los tradicionales "foo" y "bar" como nombres de variables generales se han convertido en "spam" y "huevos" en el mundo de Python. Las apariciones ocasionales de "Brian", "ni" y "shrubbery" en Python se comportan de manera similar. Incluso afectó a toda la comunidad Python.

Por supuesto, si estás muy familiarizado con esta comedia entenderás las risas, pero si no lo estás, será todo lo contrario. No es necesario estar familiarizado con Monty Python para ver ejemplos de inspiración del programa (incluidos muchos de los ejemplos que verá en este libro), pero al menos ahora conoce sus orígenes. (Oye, ya te lo dije.)

02

¿Cómo se compara Python con otros lenguajes?

Finalmente, como probablemente ya sabes, la gente a menudo usa Python. en comparación con lenguajes como Perl, Tcl y Javat. Esta sección resume algunos conocimientos comunes en esta área.

Quiero dejar claro desde el principio que a mí personalmente no me gusta ganar denigrando a los competidores; no funciona a largo plazo y no es el objetivo aquí. Además, este no es un juego de suma cero: la gran mayoría de los programadores utilizarán muchos lenguajes durante sus carreras. No obstante, las herramientas de programación también presentan opciones y compensaciones que vale la pena considerar. Después de todo, si Python no ofreciera más que sus competidores, no se utilizaría en primer lugar.

Haga clic para ingresar la descripción de la imagen

Ya hemos introducido las compensaciones de rendimiento antes, por lo que aquí nos centraremos en las funciones. Aunque los lenguajes que se enumeran a continuación también son herramientas poderosas que vale la pena aprender y usar, Python generalmente se considera más poderoso que Tcl. El fuerte soporte de Python para la "programación a gran escala" lo hace adecuado para desarrollar sistemas grandes, y su biblioteca de aplicaciones también es más rica.

Más legible que Perl. Python tiene una sintaxis concisa y un diseño simple y coherente, lo que a su vez hace que Python sea más legible y fácil de mantener, al tiempo que ayuda a reducir los errores del programa.

Más simple y fácil de usar que Java y C#. Python es un lenguaje de programación, pero tanto Java como C# heredan gran parte de su sintaxis y complejidad de lenguajes de sistemas OOP más grandes como C.

Más simple y fácil de usar que C. El código Python es más simple que el código C equivalente y tiene sólo entre un quinto y un tercio de su longitud. Aunque es un lenguaje de programación, Python a veces puede desempeñar muchas funciones diferentes.

Más simple y avanzado que C. Python está más alejado de la arquitectura de hardware subyacente, lo que reduce la complejidad del código, tiene una mejor organización y es más amigable que C (el antepasado de C).

Más potente que Visual Basic, más versátil y más multiplataforma. Python es un lenguaje más rico y más utilizado, y su naturaleza de código abierto significa que no puede ser controlado por una sola empresa.

Más fácil de entender y más versátil que PHP. Python también se utiliza para crear sitios web, pero también se utiliza en casi todas las áreas de la informática, desde la robótica hasta la animación de películas y los juegos.

Más potente y versátil que JavaScript. Python tiene un conjunto de herramientas más grande y no está estrictamente vinculado al desarrollo web. También se utiliza para modelado científico, depuración de instrumentos, etc.

Más legible y más aceptado que Ruby. La sintaxis de Python es menos confusa, especialmente en código más complejo, y su programación orientada a objetos es completamente opcional para usuarios y proyectos que no usan mucho la programación orientada a objetos.

Más madura y muy seguida que Lua. El mayor conjunto de funciones de Python y su soporte de biblioteca más ampliado le dan una perspectiva más amplia que Lua (un lenguaje "pegamento" integrado como Tcl).

Menos oscuro que SmallTalk, Lisp y Prolog. Python tiene el sabor dinámico de este tipo de lenguaje funcional, pero también tiene una sintaxis tradicional que es aceptable tanto para los desarrolladores como para los usuarios finales de sistemas personalizados.

Especialmente para un programa que no es solo para escaneo personal de archivos de texto sino que será leído por personas (incluido usted) en el futuro, muchas personas encontrarán que Python es mejor que cualquier lenguaje de programación o scripting actualmente. Disponible. Todo vale la pena. No solo eso, sino que, a menos que su aplicación requiera un rendimiento de vanguardia, Python suele ser una buena alternativa a los lenguajes de desarrollo de sistemas como C, C++ y Java: el código Python a menudo puede lograr los mismos objetivos, pero requerirá un muchos menos problemas de escritura, depuración y mantenimiento.

Por supuesto, el autor de este artículo ha sido un evangelista oficial de Python desde 1992, así que acepte estas opiniones tanto como sea posible (los intereses de los defensores de otros lenguajes pueden sufrir algunas pérdidas). Sin embargo, todas estas opiniones representan el consenso de muchos desarrolladores que han invertido tiempo y esfuerzo en explorar Python.

Acerca del autor: Mark Lutz es un instructor de formación de Python de talla mundial. Es autor de los libros más vendidos sobre Python y ha sido líder en la comunidad Python desde 1992. Tiene más de 30 años de experiencia en desarrollo de software.

Este artículo es un extracto del "Manual de aprendizaje de Python" (quinta edición del libro original) y se publica con el permiso del editor.

Haga clic para ingresar la descripción de la imagen