Qué es Python y cuál es su utilidad

En este artículo hablaremos sobre qué es Python, sus características y sobre quienes lo usan. El contenido también es parte introductoria al tutorial gratuito de Python 3 que tienes disponible en este blog.

Me gustaría comentar que hace un tiempo, tuve la intención de empezar a estudiar Ingeniería informática, carrera que no empecé ya que el primer y segundo año parecía más de electrónica, matemáticas y física, que lo que realmente quería aprender, que era desarrollar software. Al echar un vistazo a las asignaturas, pensé que el primer acercamiento a la programación por parte de un estudiante nuevo sería por medio de C o C++. Así que definitivamente quedé sorprendido cuando vi que Python, sería el lenguaje cuyo primer contacto iban a tener esta nueva generación de ingenieros.

Independiente a todo esto, empecé a estudiar por mi cuenta un curso de más de 450 horas con todo lo que un principiante en Python debería de saber. Cierto es que ya disponía de un conocimiento básico de programación antes de empezar a programar en Python pero, nada de otro mundo, digamos que lo básico.

Gracias a la facilidad y a su clara legibilidad, no fue difícil entender y poner en práctica los fundamentos básicos de la programación que aprendí con Python.

Qué es Python

Python es un lenguaje de programación de propósitos generales desarrollado en los Países Bajos por Guido van Rossum a comienzos de la década de los 90. A diferencia de otros lenguajes de programación, Python es ejecutado por un interprete que viene instalado en el propio lenguaje al igual que su entorno de desarrollo llamado IDLE.

A fecha de hoy y según el ranking de TIOBE, Python es uno de los lenguajes de programación más utilizados por estudiantes, universidades, ingenieros de software, analistas, científicos de datos, hacking ético, blockchain, inteligencia artificial (IA) y modelos de aprendizaje automático como el machine learning y deep learning.

Ranking TIOBE
Fuente obtenida de TIOBE, para ver el ranking completo visita su web. 

Nota

En este artículo no se valora a Python frente a otros lenguajes, sino que se habla del propio lenguaje en sí y del estado en el que se encuentra.

Características de Python

Estas son algunas de las características de Python que al igual que otros lenguajes de programación, las ventajas pueden llegar a ser bastante favorables según el tipo de proyecto o lo que vamos a hacer con el.

Es multiparadigma

Python es un lenguaje que permite varios paradigmas de programación como la imperativa, funcional u orientado a objetos, que describiré a continuación para un mejor entendimiento.

La programación imperativa es el más antiguo de los paradigmas de programación y se basa en una secuencia de instrucciones bien definidas que por medio de estructuras de control como puede ser un bucle, se consigue el resultado deseado.

La programación funcional es un paradigma declarativo que está pensado para trabajar principalmente con funciones y expresiones sin estructuras de control, permitiendo así al programador expresar lo que quiere hacer y no de cómo hacerlo, convirtiendo el código mucho más legible.

Por último, la programación orientado a objetos (POO) es un modelo que se basa en un concepto de objetos y clases, favoreciendo de esta forma la reutilización y reducción del código de un programa. En Python todo en sí, es un objeto.

Es de tipado dinámico

El tipado dinámico (Dynamic typing) se refiere a que una variable puede modificar el tipo de dato que contiene mientras el programa se está ejecutando, recurrente en lenguajes de programación interpretados.

Es un lenguaje interpretado

Python es un lenguaje interpretado que no requiere de un compilador para transformar el código fuente al lenguaje de máquina. El interprete analiza y ejecuta una a una las sentencias del código fuente y las traduce sin generar ningún código fuente equivalente a este, como lo hace un compilador.

Entre los lenguajes interpretados más destacados están Python, Matlab, Ruby o JavaScript, este último es interpretado por un navegador web.

Es multiplataforma

El interprete de Python soporta plataformas como Unix, Linux, Windows x y MacOS x, esto permite al programador centrarse en el proyecto y no en la infraestructura ni el hardware.

Es fácil de aprender

En el caso de que quieras aprender Python, existe muchísima documentación en la red en diferentes idiomas y tipos de formato, bien sea en papel, ebook o multimedia.

Qué se puede hacer con Python

Con Python se pueden hacer muchas cosas, desde el desarrollo web con los diferentes frameworks disponibles como Django, Flask, Pyramid o Web2py, machine y deep learning con Tensorflow, Keras o PyTorch, analítica de datos con NumPy, Pandas, Matplotlib y así, un largo etcétera.

Es cierto que a Python se le ha vinculado mucho más a la ciencia de datos que al propio desarrollo de software, como puede serlo Java, C#, C o C++. Python no puede abarcarlo todo pero si te da la posibilidad de utilizarlo según lo que queramos obtener de él, integrándolo en proyectos con otros lenguajes de programación y obteniendo el mayor rendimiento sobre cada uno de ellos.

Python es Open source

Python es un lenguaje de programación gratuito que a diferencia de otros, no necesita una licencia comercial para poder obtener beneficios sobre él. Se liberó como Open source (código abierto) aprobado por la OSI, permitiendo su uso y distribución libremente.

Quién utiliza Python

Es difícil que en un proyecto más o menos funcional, que a su vez, se vaya a comercializar como pudo ser en su momento Spotify, se hayan propuesto utilizar un solo lenguaje de programación.

Es cierto de que cada proyecto es diferente y que donde Python está en el backend de una aplicación, en otro proyecto puede que se haya utilizado para el entrenamiento de aprendizaje automático, o para la seguridad de una infraestructura informática.

Empresas como Amazon, Google, Facebook, Instagram, Netflix, Spotify, Pinterest, Dropbox, NASA, Stripe, Reddit, juegos como Battlefield 2 o el motor Panda 3D, utilizan o han utilizado Python en sus desarrollos o en sus diferentes procesos.

Lo que si está claro es que Python es utilizado por muchos usuarios, compañías y organismos para conseguir sus propios propósitos, bien sea con carácter estudiantil, investigación o comercial.

Entornos de desarrollo

Disponer de un IDE (Entorno de Desarrollo Integrado) es fundamental para que puedas empezar a programar en Python, ya que te proporcionará el conjunto de herramientas que necesitas unificadas en un solo sitio.

Si estas empezando en esto de la programación o en la ciencia de datos y no dispones de un editor de código o IDE predefinido, te recomiendo empezar con Spyder. Este IDE es la herramienta mejor valorada para principiantes y para los que no lo son, ya que se trata de un entorno de desarrollo gratuito, escrito en Python y con unas funcionalidades que pocos IDEs especializados en Python pueden ofrecerte.

Existe una expresión que dice «para gustos, los colores» y en los entornos de desarrollo, esta expresión se aplica a menudo ya que cada programador suele elegir las herramientas mas convenientes y con las que más a gusto se encuentra.

Yo personalmente utilizo Visual Code con Jupyter Notebook cuya integración se hace desde el propio VS por medio de una extensión. Hay programadores que les gusta trabajar con Anaconda aunque esta última, está mas enfocado a la ciencia de datos.

En definitiva, resulta complejo hacer una recomendación sobre editores o entornos de desarrollo ya que como expliqué anteriormente, cada persona tiene un hábito y un propósito diferente al nuestro.

Lo que si podemos sacar en claro es que en Python, existe una amplia variedad de entornos de desarrollo que podremos elegir según el propósito y la necesidad que tengamos.

Estas son algunas de las herramientas de desarrollo que he utilizado hasta para Python.

Ciencia de datos

Conclusión

En definitiva, Python es un lenguaje de programación maduro que ofrece todo el potencial que puede tener un lenguaje de programación. Su utilización ha sido llevada por las diferentes áreas como la investigación, el análisis o el desarrollo de software, además de otros propósitos como la seguridad informática.

Sería impensable hace unos años atrás que Python, pudiese estar detrás de tecnologías como el blockchain o NFT (Non Fungible Token) como lo está hoy en día.

Empieza el tutorial de Python 3

Declaración de variables

¿Te ha parecido útil?