Python, el lenguaje con el que puedes hacer todo

Breve historia

Aunque el nombre nos recuerda a una pitón, el nombre de este lenguaje no lo da este reptil, sino el nombre del grupo humorístico Monty Python del que el creador es fan. Pitón es un programación lenguaje originado a finales de los 80 por Van Rossum y desarrollado para el sistema operativo Amoeba. En 1991 se publicó la versión de código 0.9.0, que ya incluía clases con uso de excepciones, capaces de heredar funciones e incluir algunos tipos modulares como list, dict y str.

En 1994 este idioma incluyó en su versión 1.0 caracteristicas como algunas funciones de programación funcional: reducir, filtrar, lamda y mapear. por Pitón versión 2.0, se incluyeron listas de compresión basadas en la sintaxis de Haskell. También con esta versión se incluyó un sistema de recolección de basura.

Además, la unificación de tipos y clases dentro de la misma jerarquía fue la mayor innovación en la versión 2.2, que hizo que el modelo de objetos fuera robusto y puro. También se agregaron generadores inspirados en el lenguaje Icon.

A partir del 1 de enero de 2020, Python 2 (2.7. *) Se suspendió oficialmente y solo admite versiones> = 3.5.

Caracteristicas 

Esta idioma es interpretado, lo que lo hace ofrecer portabilidad entre sistemas, aunque en situaciones concretas se debe tener en cuenta el SO (en muchos de estos casos en Windows).

En cuanto a su programación paradigma, Python es un multiparadigma idioma. Los desarrolladores no están obligados a utilizar un estilo específico en su programación. Actualmente tiene como paradigma los estilos: programación imperativa, funcional y orientada a objetos. Con el uso de extensiones, se pueden apoyar otros paradigmas. Para la gestión de la memoria, se utilizan la escritura dinámica y el recuento de referencias.

Otra característica importante es la vinculación dinámica de métodos. Esta función vincula un método y un nombre de variable durante la ejecución del script.

En términos de sintaxis, Pitón fue diseñado para tener una legibilidad fácil y clara, por eso se usan palabras en lugar de operadores (|, &,! -> o, y, no) y se usan sangrías en lugar de “{}”. Utilizando la pestañas, el código está estructurado y nivelado de acuerdo con las instrucciones. Por ejemplo, la función de fibonacci sería

def fib (n): a, b = 0,1 while a <n: print (a, end = '') a, b = b, a + b print () fib (1000) print () fib (1000)

Por el sangría, cada secuencia debe estar escrita en una sola línea, pero si por problemas de legibilidad desea dividir la secuencia en más líneas puede agregar una “\” al final de cada línea para indicar que continúa en la siguiente.

capitales = ["Nueva York", "Londres", "Bogotá", "Pekín", \ "Tokio", "París", "Madrid", "Lisboa" \ “Antananarivo", "Moscú"] "print (f" Algunas capitales: {capitales} ”) fuera: Algunas capitales: ['Nueva York', 'Londres', 'Bogotá', 'Pekín', 'Tokio', 'París', 'Madrid', 'Lisboa', 'Antananarivo' , 'Moscú']
duch_alba_name = "María del Rosario Cayetana Paloma Alfonsa" \ "Victoria Eugenia Fernanda Teresa Francisca de Paula Lourdes" \ "Antonia Josefa Fausta Rita Castor Dorotea Santa Esperanza" \ "Fitz-James Stuart y de Silva Falcó y Gurtubay" print (f "Duchess del nombre de Alba: {duch_alba_name} ") fuera: Nombre de la duquesa de Alba: María del Rosario Cayetana Paloma Alfonsa Victoria Eugenia Fernanda Teresa Francisca de Paula Lourdes Antonia Josefa Fausta Rita Castor Dorotea Santa Esperanza Fitz-James Stuart y de Silva Falcó y Gurtubay

Filosofía

Para empatizar con desarrolladores y crear pautas para crear código correcto de acuerdo a Pitón, en la versión 2.1.2 se agregó una clase de huevo de Pascua al importar el paquete "this".

importar esto

Cuando ejecuta la línea anterior del intérprete, el famoso Python Zen está impreso en la consola, cuyas reglas, introducidas por Tim peters, son las siguientes:

  1. Lo bello es mejor que lo feo.
  2. Explícito es mejor que implícito.
  3. Lo simple es mejor que lo complejo.
  4. Complejo es mejor que complicado.
  5. Plano es mejor que anidado.
  6. Es mejor escaso que denso.
  7. La legibilidad cuenta.
  8. Los casos especiales no son lo suficientemente especiales como para romper las reglas.
  9. Aunque la practicidad vence a la pureza.
  10. Los errores nunca deben pasar silenciosamente.
  11. A menos que sea silenciado explícitamente.
  12. Ante la ambigüedad, rechace la tentación de adivinar.
  13. Debe haber una, y preferiblemente solo una, forma obvia de hacerlo.
  14. Aunque esa forma puede no ser obvia al principio a menos que seas holandés.
  15. Ahora es mejor que nunca.
  16. Aunque a menudo nunca es mejor que * ahora mismo *.
  17. Si la implementación es difícil de explicar, es una mala idea.
  18. Si la implementación es fácil de explicar, puede ser una buena idea.
  19. Los espacios de nombres son una gran idea, ¡hagamos más!

Con estas reglas se pretende que el programador cree un código simple, eficiente, legible y fácil de depurar siguiendo las filosofía python.

Creciente

En los últimos años, el crecimiento de Pitón uso lo ha posicionado en el número 2 del ranking de la idiomas mas usados a nivel global según Github (gráfico extraído del análisis de github octoverso). Y en la siguiente tabla (github) podemos ver la actividad de los repositorios de GitHub de Python. Actualmente es 17% de todos los cambios de github.

Python, the language with which you can do everything 1 - python ranking
Python, the language with which you can do everything 2 - Captura de pantalla 2020 02 29 a las 2.00.33

Este crecimiento en su uso se debe a la gran eficiencia y escalabilidad que ofrece el código, por lo que está siendo utilizado en múltiples disciplinas. Las aplicaciones que están usando este lenguaje son varias, pero ahora explicaremos las más utilizadas.

Python para ciencia de datos y macrodatos

Extraer y analizar datos en Python es una tarea rápida y sencilla. Es por eso que se está utilizando en el análisis de datos de grandes empresas para mejorar su rendimiento a partir de los datos recopilados y predecir resultados. La fácil manipulación de operaciones con ecuaciones y matrices hacen de Python un sustituto perfecto para lenguajes como Matlab o Scilab. Para dar una interfaz más "amigable" para aquellos que están acostumbrados a lenguajes estadísticos como R, Python usa el marco Anaconda que a menudo se usa junto con Spider y Jupyter Notebook con el que los matemáticos se sienten más cómodos.

Algunas de las bibliotecas más utilizadas para big data: Pyspark, Dask y Pydoop.

Las bibliotecas más utilizadas para el análisis y procesamiento de datos: Numpy, Pandas, Plotly, Matplot y Seaborn.

Python para la Web (front-end)

Aunque el rey de la web es php junto con entornos como Laravel, el lenguaje de Python te permite escribir aplicaciones de todo tipo con menos líneas de código. En cuanto a los mejores frameworks para el desarrollo de Front-End encontramos:

Django. Es el mas completo marco web escrito en Python. Proporciona un desarrollo rápido y limpio en la creación de páginas web. Estas páginas pueden utilizar sistemas de gestión de contenido CMS para la programación modular del sitios web, que facilita la creación de sitios web robustos y modelados en bloques. Algunas desventajas de Django son que aunque los sitios web desarrollados son más avanzados que con otros frameworks web, es un framework bastante lento en comparación con los demás.

Pirámide. Esto se debe a la fusión de los marcos Pylons 1.0 y repoze.bfg. Este paquete de desarrollo web se clasifica por tener un inicio rápido y un desarrollo fácil para API trabajo, y la posibilidad de incluir gerentes como CMS y KMS

Botella. Ampliamente utilizado para el desarrollo de lote aplicaciones. Desarrolla páginas bastante sencillas, pero es un gestor muy flexible a la hora de incorporar nuevas librerías.

Matraz. El más ágil de los frameworks más utilizados para el desarrollo web. Nació como una broma para el día de los inocentes, pero ha ido creciendo hasta posicionarse de tal manera que puede ser utilizada en servicios como Amazon (Lamda) y Google en su Cloud RUN. Flask en sí mismo es muy simple, pero puede agregar módulos como Jinja2 y SQLAlchemy para completarlo. Hay todo tipo de paquetes desarrollados para crear sitios web seguros, robustos y fáciles.

Python para secuencias de comandos

Pitón es un lenguaje que permite la creación y ejecución de guiones con pocas líneas de código. Entre el uso de scripting en este lenguaje, podemos destacar el scraping (obtención de datos de sitios web) y la automatización de tareas de mantenimiento del servidor, edición de imagen y sonido… Es decir, con python puedes programar fácilmente cualquier tarea en tu servidor.

Cuando se combinan procesos automatizados para la extracción de contenido del sitio web, el término "larva del moscardón”Se utiliza. Un bot puede programarse para realizar una determinada tarea (puede pretender ser una persona) cada cierto tiempo o en un momento programado.

La mayor cantidad de usuarios de bibliotecas para desguace son Sopa Hermosa, Scrapy, Selenio y Helio. Los dos últimos permiten el control de los navegadores Chrome y Firefox para simular la interacción de un usuario real. Con esta técnica puedes descargar información web como texto, imágenes o sonidos.

Python para inteligencia artificial

los Python IA La comunidad es la más grande que existe en comparación con otros entornos. Hay muchas bibliotecas desarrolladas para aprendizaje profundo y enfoque de redes neuronales, por lo que actualmente es el lenguaje más utilizado en Aprendizaje de la máquina prácticas. Se utilizan bibliotecas como PyTorch (desarrollada por Facebook), TensorFlow (desarrollada por Google) y Keras.

Redes neuronales se crean para la realización de tareas evitando que sea un proceso programado como un guión y si es algo más parecido al funcionamiento del aprendizaje de los humanos.
Por ejemplo, con OpenCV , puede detectar objetos, rostros, personas, animales y todo tipo de objetos haciendo que la propia red aprenda a distinguir objetos específicos en imágenes. Además, con este entorno es posible desarrollar una inteligencia artificial capaz de describir el contexto de las imágenes Visión AYO.

Algunas de las empresas más influyentes en este sector son Open AI, Google y Facebook.

Python para Backend, Webhook y API Rest

Cualquiera de los frameworks utilizados para web se puede utilizar para la Backend, Webhook y API de descanso ya que Python se ejecuta en el servidor. Pero en este caso vamos a nombrar otros de los Frameworks que se utilizan. Debe explicarse que en un servicio de API Rest (por ejemplo: obtener datos de db) la solicitud del usuario debe procesarse y devolverse en el menor tiempo posible, mientras que en el Webhook (por ejemplo: cargar una imagen para extraer texto) la respuesta puede tardar tiempo para llegar ya que la imagen debe ser procesada. Con los siguientes marcos, puede crear el backend de cualquier aplicación web o móvil, como una API de descanso para una Aplicación Flutter.

Japronto. Este marco fue desarrollado para ser el lo más rápido servicio y el que puede procesar más solicitudes en menos tiempo. Con puntajes de referencia de poder procesar y responder más de 1 millón de solicitudes por segundo, Japronto se convierte en el marco de trabajo de Python más rápido que es más rápido que Go y NodeJS. Está escrito usando la API de C. Actualmente se encuentra en estado Alfa y su propio creador recomienda usar Sanic.

Halcón. Después de Japronto, Falcon es el marco de API más rápido disponible. Es rápido, minimalista y perfecto para tareas de backend, microservicios y API. Este proyecto aún está en desarrollo y cuenta con bibliotecas muy interesantes que permiten crear conexiones seguras entre cliente-servidor. Tiene la capacidad de incorporar asincronicidad a través de otras bibliotecas. Con la implementación de PyPy es capaz de procesar más de 300K peticiones / seg.

Sanic. Sanic es un Servidor web marco de desarrollo famoso por ser asincrónico. Se actualiza constantemente y tiene versiones estables. Puede procesar más de 36K req / seg.

Velocidad codificada

Python no es realmente rápido en su ejecución, lo que hace malas comparaciones con otros lenguajes como Go (Golang). Para hacer una comparación justa, debe compararlo con otros sistemas que también se interpretan. En el caso de Go está compilado, lo que le da mucha ventaja en el tiempo de ejecución. Para evitar problemas de velocidad, otros tipos de artistas como Cython y PyPy Se han desarrollado que le otorgan una admirable velocidad de ejecución. Además, existen bibliotecas que ayudan a reestructurar el código para que se pueda interpretar más rápidamente.

Conclusión

Como conclusión, podemos ver que la estructura del código Python permite que este lenguaje ofrezca la ejecución de casi cualquier tarea en unas pocas líneas de código. Este lenguaje demuestra ser un todo terreno en la industria, pudiendo hacer de todo, desde bots que descargan datos de otros sitios hasta complejas redes neuronales que detectan tumores de mama en rayos X.

Deja un comentario