8
Instalación de Python
¿Qué es Python ?
Python es un lenguaje de programación de alto nivel, interpretado y orientado a objetos con semántica dinámica. Es un lenguaje de programación muy popular en la actualidad debido a su simplicidad y versatilidad. Y ampliamente utilizado en la ciencia de datos, inteligencia artificial, desarrollo web, desarrollo de videojuegos, entre otros.
Vamos a deshilar un poco la definición anterior para entender mejor lo que significa.
Alto Nivel
Un lenguaje de programación de alto nivel es un lenguaje de programación que se encuentra más cerca del lenguaje humano que del lenguaje de máquina. Por ejemplo para imprimir el resultado de la suma de dos números en Python se escribe:
Cualquier persona que entienda aritmética básica y sepa un poco de inglés puede entender lo que hace este código. Esto hace que los programas escritos en Python sean más fáciles de leer y de escribir que los programas escritos en lenguajes de programación de bajo nivel como el lenguaje ensamblador o el lenguaje C++ . Por ejemplo en C++ el mismo programa se escribiría de la siguiente forma:
Y en lenguaje ensamblador se escribiría de la siguiente forma:
Interpretado
Un lenguaje de programación interpretado es un lenguaje de programación que utiliza un programa llamado intérprete para ejecutar el código fuente. El intérprete de Python se encarga de leer el código fuente escrito en Python y ejecutarlo línea por línea.
Por otro lado, los lenguajes de programación compilados utilizan un programa llamado compilador para traducir el código fuente a un lenguaje de máquina que la computadora pueda entender. El código fuente compilado se convierte en un archivo ejecutable que puede ser ejecutado por la computadora lo que da como resultado un programa más rápido que un programa interpretado y con mayor control sobre el hardware.
Orientado a Objetos
Python es un lenguaje de programación orientado a objetos lo que significa que todo en Python es un objeto. Un objeto es una entidad que tiene un estado y un comportamiento. Por ejemplo, un objeto de la clase Persona
tiene un estado que incluye el nombre, la edad y la dirección de la persona y un comportamiento que incluye caminar, hablar y comer.
El ejemplo más claro de la orientación a objetos en Python es la creación de clases y objetos. Una clase es una plantilla que define las propiedades y los métodos de un objeto y un objeto es una instancia de una clase. Por ejemplo, la clase Persona
define las propiedades y los métodos de una persona y un objeto de la clase Persona
es una persona en particular.
Esto en Python se ve de la siguiente forma:
Código
class Persona:
def __init__(self, nombre, edad, direccion):
self.nombre = nombre
self.edad = edad
self.direccion = direccion
def caminar(self):
print(f"{self.nombre} está caminando")
def hablar(self):
print(f"{self.nombre} está hablando")
def comer(self):
print(f"{self.nombre} está comiendo")
persona = Persona("Juan", 25, "Calle 123")
persona.caminar()
persona.hablar()
persona.comer()
Juan está caminando
Juan está hablando
Juan está comiendo
Semántica Dinámica
Python es un lenguaje de programación con semántica dinámica lo que significa que el tipo de una variable se determina en tiempo de ejecución y no en tiempo de compilación. Por ejemplo, en Python no es necesario declarar el tipo de una variable antes de utilizarla como en otros lenguajes de programación como C++ o Java. Por ejemplo, en Python se puede escribir:
En este caso, Python determina que a
es un entero, b
es una cadena de texto y c
es un número de punto flotante en tiempo de ejecución.
En otro lenguaes de programación como C++ o Java se tendría que declarar el tipo de las variables antes de utilizarlas. Por ejemplo, en C++ se tendría que escribir:
El tipo puede ser modificado en cualquier momento, por ejemplo:
¿Cómo instalar Python localmente?
Para utilizar Python localmente en tu computadora necesitas instalar Python y un editor de código:
- Vim (si eres usuario avanzado y quieres complicarte la vida).
- Visual Studio Code. \(\textcolor{limegreen}{Recomendado}\)
- Sublime Text.
- Atom.
- Spyder.
- Jupyter Notebook.
- Anaconda.
Los editores de código son programas que te permiten escribir código en distintos lenguajes de programación y tienen distintas funcionalidades para facilitar el proceso de creación y depuración del código. Muchos editores de código como Visual Studio Code, Sublime Text y Atom tienen extensiones que te permiten añadir funcionalidades para resaltar la sintaxis del código, autocompletar código, depurar código, usar IA, control de versiones, entre otras cosas.
Por otro lado, Jupyter Notebook es un entorno de programación interactivo que te permite escribir código en celdas y visualizar los resultados de forma dinámica. Anaconda es una distribución de Python que incluye Jupyter Notebook y otras herramientas útiles para la programación en Python.
Python (versión 3.8) viene preinstalado en sistemas operativos basados en Unix (Linux y MacOS ) en la mayoría de los equipos actuales a diferencia de Windows donde debe ser instalado manualmente.
MacOs
Windows
Instalar Visual Studio Code
La instalación de Visual Studio Code es muy sencilla, solo debes de ir a la página oficial de Visual Studio Code y descargar el instalador correspondiente a tu sistema operativo, pero si prefieres ver un video que te guíe en la instalación aquí te dejo uno para MacOS y otro para Windows.
MacOS
Windows
Python en la Nube
Si no quieres instalar Python en tu computadora o no puedes hacerlo, puedes utilizar Python en la nube.
Uno de los principales servicios para correr Python en la nube es Google Colaboratory (mejor conocido como Colab) el cual es un entorno de programación en la nube que te permite escribir y correr código en Python sin la necesidad de intalar ningún software. Colab se ejecuta en el formato de Jupyer Notebook que permite obtener visualizaciones dinámicas del código y permite ejecutar código en celdas separadas, además de que permite escribir texto en formato Markdown que permite introducir ecuaciones matemáticas.
Un video execelente para introducirse a Goocle Colaboratory es el del canal oficial de TensorFlow , la cual es una popular librería para inteligencia artificial.