Autor/a

Christian Badillo

Fecha de publicación

11 de agosto de 2024

¿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:

Código
a = 5
b = 3

print(a + b)
8

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:

#include <iostream>

int main() {
    int a = 5;
    int b = 3;
    std::cout << a + b << std::endl;
    return 0;
} 

Y en lenguaje ensamblador se escribiría de la siguiente forma:

section .data
    a db 5
    b db 3
section .text
    global _start
_start:
    mov al, [a]
    mov bl, [b]
    add al, bl
    mov dl, al
    mov eax, 4
    mov ebx, 1
    mov ecx, dl
    mov edx, 1
    int 0x80
    mov eax, 1
    xor ebx, ebx
    int 0x80

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:

Código
a = 5
b = "Hola"
c = 3.14

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:

int a = 5;
std::string b = "Hola";
float c = 3.14;

El tipo puede ser modificado en cualquier momento, por ejemplo:

Código
a = 5
print(a)
a = "Hola"
print(a)
a = 3.14
print(a)
5
Hola
3.14

¿Cómo instalar Python localmente?

Para utilizar Python localmente en tu computadora necesitas instalar Python y un editor de código:

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.


Python en el Navegador

La mayor parte del curso se realizará en el navegador utilizando Python en la nube. Para ello utilizaremos Pyodide, una implementación de Python en WebAssembly que permite ejecutar Python en el navegador sin necesidad de instalar Python en tu computadora.

Para correr el código es muy senciilo, solo debes de escribir el código en la celda de código y presionar el botón de Run Code o presionar la tecla Shift + Enter. El código aparecerá en la celda de salida y si el código produce algún resultado este se mostrará en la celda de salida.

Puedes probar el código anterior y ver el resultado en la celda de salida. Intenta imprimir tu nombre en la celda de código y ver el resultado en la celda de salida. Para regresar al código original solo debes de presionar el botón de Start Over que tiene dos flechas formando un circulo.

No solo podemos corre código tan sencillo como el anterior, también podemos importar librerías de Python y utilizarlas en el navegador. Por ejemplo, realicemos una simulación de Monte Carlo para calcular el valor de \(\pi\).

E igualmente podemos crear gráficas utilizando la librería matplotlib.

Y podemos hacer analisis más avanzados como un clasificador de flores utilizando la librería scikit-learn.

Como puedes ver, Pyodide es una herramienta muy poderosa que te permite correr Python en el navegador y realizar análisis de datos, visualizaciones y modelado de datos sin necesidad de instalar Python en tu computadora.

Pregunta para pensar: Intenta correr varias veces el último código y observa si la precisión del clasificador cambia. ¿Por qué crees que cambia la precisión del clasificador cada vez que se corre el código? Esta pregunta la responderemos más adelante en el curso. Pero si quieres intentar responderla por tu cuenta, adelante. Comenta tu ideas en la clase!!!


Bienvenidos a Python !!!!!!!!

Volver arriba