Introducción¶
¿Qué es Python?¶
Python es un lenguaje de programación de uso genérico, orientado a objetos, de alto nivel, fuertemente tipado, dinámico e interpretado.
- Uso genérico porque se puede usar para cualquier campo en cualquier máquina
- Alto nivel porque es muy parecido al lenguaje natural (a más nivel más parecido al humano)
- Fuertemente tipado significa que el tipo de dato de una variable no cambia de forma mágica si no de forma explícita.
- Dinámico significa que no necesitamos definir previamente con qué dato vamos a trabajar. Directamente trabajamos con lo que nos venga.
- Interpretado significa que al mismo tiempo que el intérprete lee una parte del código, la traduce a 0s y 1s y la ejecuta. Esto hace que sea más lento porque en un lenguaje compilado, el compilador traduce directamente todo a 0s y 1s y ejecuta del tirón sin tener que estar leyendo, traduciendo y ejecutando a cada rato.
Este fue creado por Guido van Rossum porque los lenguajes de programación de entonces no hacían frente a algunas de las necesidades que este necesitaba.
Su nombre no se debe a la serpiente sino a los Monty Python.
¿Qué es un Código o Programa?¶
Un código, está constituido por una serie de sentencias ordenadas una debajo de la otra (de la misma forma que escribimos en un folio) las cuales son ejecutadas por una máquina.
Un sentencia es una línea de código que da una orden a la máquina. Dentro de las sentencias tenemos un tipo de especial que se llama comentario. Esta sentencia no hace nada. Solo está para explicar partes del código o aclaraciones necesarias.
# Comentario de linea
"""
Comentario de bloque
"""
1 + 1
2
Archivos de Python¶
En Python tenemos al menos 2 tipos de archivos con los que podemos programar
- Los *.py o archivo de Python
- Los *.ipynb o Jupyter Notebooks
Los archivos de Python (.py) se suelen usar para programación más compleja y estructurada.
A veces puede ser necesario descomponer un programa en varios archivos y para ello suele ser más cómodo usar varios archivos .py
Por contra, aunque los Jupyter Notebooks tambien se pueden utilizar para computación compleja (Ej: Machine Learning), se suelen usar para programas más interactivos o didácticos en donde podemos dividir nuestro código en lo que se llama celdas.
Entre las celdas destacamos:
- Las celdas de texto donde podríamos entenderlas como la parte donde pondremos comentarios, explicaciones en un formato más rico como tablas, enlaces a webs, ...
- Las celdas de código donde realmente escribimos las sentencias que nuestra máquina ejecutará