Es un lenguaje de alto nivel
Es un lenguaje con un sistema de tipo dinámico, esto significa que cualquier verificación de tipo se hace en tiempo de ejecución (runtime) en lugar de tiempo de compilación.
Los lenguajes dinámicos son más fáciles de leer, más pequeños a la hora de elaborar código y al no requerir compilador, son más rápidos a la hora de hacer cambio en el software.
Es un lenguaje interpretado.
La principal diferencia entre un lenguaje compilado y uno interpretado es que el lenguaje compilado requiere un paso adicional antes de ser ejecutado, la compilación, que convierte el código que escribes a lenguaje de máquina. Un lenguaje interpretado, por otro lado, es convertido a lenguaje de máquina a medida que es ejecutado. Fuente: https://blog.makeitreal.camp/lenguajes-compilados-e-interpretados/
El defecto de ser interpretado es que es más lento que el compilado.
Es un lenguaje multi paradigma, puede funcionar como orientado a objetos u orientado a estructura.
¿Por qué debería importar?
Es un lenguaje muy popular.
Su fundamento de desarrollo es una buena guía a futuro para el lenguaje, estas son sus políticas:
- Hermoso es mejor que feo.
- Explicito es mejor que implícito.
- Simple es mejor que complejo. (Muchas veces hacer algo simple es muy difícil)
- Complejo es mejor que complicado.
- Facilidad de lectura importa.
Para citar a Tony Hoare: «Hay dos formas de escribir código, tan simple que no hay errores, o tan complejo que no son obvios los errores.»
¿Qué hace diferente a Python en lugar de otros lenguajes?
Énfasis en diseño extensible, esto significa que muchas partes de funcionalidad pueden ser añadidas al núcleo principal de Python.
Python puede ser incrustado(enbedded) directamente en una aplicación para proveer una interfaz programable, por ejemplo Bender.
El diseño del lenguaje es comunitario mediante PEP(Python Enhancement Proposal).
Hay un énfasis en que sea divertido usarlo.
Es sencillo empezar en el lenguaje.
¿Cómo y cuándo es usado Python?
Administración de Linux
Una máquina puede tener muchas tareas diversas, manejar archivos, configuraciones de base de datos, procesos, aplicaciones, pruebas, etc., así que para controlar todo esto es útil tener un leguaje que permita escribir scripts.
Un ejemplo sencillo es crear un script para que muestre la lista de servicios en ejecución de acuerdo a una serie de parámetros.
Desarrollo Web
Python se encuentra en muchas tecnologías actuales, tales como API, web o aplicativos.
Data Science
Hay dos aspectos, BigData y Machine Learning.
BigData es el manejo de grandes cantidades de datos ya que hoy en día se puede adquirir mucha información en un segundo pero de nada sirve si no se puede extraer información relevante de ella.
Machine Learning es el análisis de relaciones entre datos, al haber tanta información que tiene relación entre sí, es imposible para el ser humano encontrar esas relaciones, para eso se le deja el análisis a la máquina, para que pueda buscar las relaciones existentes. A partir de ese análisis puede retroalimentarse y aprender como resolver una tarea.
Primeros pasos con Python
REPL (Read Eval Print Loop)
Pip: es un instalador de paquetes
Ipython: es una Shell interactiva
Página de documentación oficial de Python https://docs.python.org/3/
Python 2 vs Python 3
Python 3 no es intencionalmente no compatible con versiones anteriores. De esta forma no se gasta tiempo dando soporte a versiones viejas.
Los nombres de archivos tienen extensión representativa de la versión 3, por ejemplo, pip vs pip3, Python vs phyton 3, ipython vs iphython 3.
Siempre que sea posible debe usarse Python 3 a menos que los requerimientos de software lo imposibiliten.
Ejecutando código Python
Hay tres formas:
- Intérprete: utilizando Python exe
- REPL: ejecutando el código dentro de un REPL interactivo
- Nativamente: al compilar el código utilizando py2exe, pyinstaller, etc.
https://blog.makeitreal.camp/lenguajes-compilados-e-interpretados/
https://octoverse.github.com/2017/