Curso de programación en Python con Linux. Parte dos
En este post continuamos con la segunda parte de nuestro curso de programación en Python usando Linux. Se trata de un lenguaje de programación multipropósito tanto para su uso por programadores novatos o vibe coders como de profesionales que necesitan construir aplicaciones complejas.
Como explicamos en el artículo anterior, en las distribuciones basadas en Debian, como Ubuntu, la creación de aplicaciones en Python se hace en un entorno virtual, esto tiene las ventaja de que podremos crear nuesros programas con diferentes versiones de Python o de sus bibliotecas. Existen formas, que veremos más adelante, de hacer que la aplicación se ejecute como si fuera una aplicación normal (Pulsando en el icono) sin tener que que activar el entorno virtual).
Curso de programación en Pyhon con Linux
Un poco más sobre los entornos virtuales en Python
Como dijimos más arriba, usar entornos virtuales es una obligación en Debian y derivados aunque también puedes usarlo en otros sistemas operativos para ejecutar diferentes versiones de Python y sus biblotecas.
Cuando creamos el entorno virtual en la carpeta elegida con el comando
python3 -m venv primer_proyecto (Puedes poder el nombre que quieras, este fue el que elegí yo en el artículo anterior)
Se agregaron a nuestra carpeta 3 directorios: dentro de una carpeta que se llama igual que el nombre que le asignamos al entorno virtual. Cabe señalar que yo le asigne a la carpeta contenedora del proyecto y al entorno virtual el mismo nombre por no molestarme en pensar otro. Retrospectivamente no fue una buena idea, pero ya está. Los directorios son:
- bin: Contiene el intérprete del lenguaje, el gestor de paquetes pip (No vamos a usarlo por el momento) y los scripts necesarios para la activación.
- lib/lib64: Contiene las bibliotecas (Código con funciones específicas) que utilizaremos en el proyecto e instalamos con pip, dependencias y otros archivos necesarios para la ejecución de los programas.
- include: Solo se utiliza si se compilan extensiones desde código fuente.
- pyenv.cfg: Archivo de configuración del entorno.
Cuando activemos el entorno con el comando correspondiente veremos que el promt de la shell cambiará para mostrar primero el nombre del entorno virtual entre paréntesis. El comando de activación es (No lo uses todavía)
source primer_proyecto/bin/activate
Verifica que la instalación fue correcta con
which python
Lo que te dará una salida del tipo:
home/tu_usuario/primer_proyecto/primer_proyecto/bin/python
Lo mismo para el gestor de paquetes pip
which pip
El resultado debe ser:
home/tu_usuario/primer_proyecto/primer_proyecto/bin/python
Puedes verificar la versión de Python
python --version
Desactivar el entorno
deactivate1
Escribiendo el primer programa
Odio con toda mi alma los tutoriales de programación cuyo primer ejemplo es imprmir ¡Hola Mundo! así que vamos a hacer algo un poco más divertdo. Un juego de 3 en raya o Tatetí como le decimos en Argentina.
- Abre Visual Studio Code
- En Archivos elige la opción Abrir carpetta
- Selecciona la carpeta donde creaste el entorno virtual
- En Archivos selecciona Nuevo archivo de texto
- Guárdalo como ejemplo1 no es necesario que indiques la extensión
- Copia el código de abajo y vuelve a guardar el archivo
Observarás que no estoy pegando el código completo en el blog sino usando un servidor externo.. Esto no es por maldad (Ni por pedagogía) Se trata de que la plataforma que usamos para escribir los artículos es iincompatiblle con una de las características básicas de Python
Indentación
En Python se usan espacios o tabuladores (Nota el uso del coordinante O) para marcar la estructura del código. Esto define los bloques y que va dentro de cada uno. La regla es usar 4 espacios (O presiones de la tecla Tab por nivel.
Probando el programa
Para ejecutar el programa ve a Terminal
Nueva Terminal en Visual Studio y abre una nueva terminal
Pon en marcha el entorno virtual con
source primer_proyecto/bin/activate
y a continuación ejecutta el programa con:
python3 ejemplo1.py
Si ejecutaste el programa verás que es realmente muy básico. Cada jugador debe seleccionar la posición donde va su ficha eligiendo un numero del 0 al 8 (Ordenado de izquierda a derecha y de arrba hacia abajo) Lo hice deliberadamente sencillo para explicar algunos concetos relacionados con Python
Programación Orientada a Objetos
Este muy básico juego de 3 en raya ilustra el paradigma de la Programación Orientada a Objetos que se usa en PythonEl apartado que sigue es un poco denso pero tanto que escribas tus propias aplicaciones como que hagas vibe coding es necesario para entender cómo crear una aplicación en Python de manera correcta. Trataré de hacerlo más claro con ejemplos.
Python está pensado para un paradigma de programación comocido como Programación Orientada a Objetos. En este paradigma el diseño del código se hace en torno a objetos. Los objetos son campos de datos con atributos y comportamientos únicos.
Los componentes de la programación orientada a objetos son:
- Clases: Son tipos de datos definidos por el usuario. Se usan como modelo para métodos, objetos y atributos individuales. La primera vez que se usan solo se define su descripción.
- Objetos: Son instancias de una clase que se crean con datos específicos. Pueden corresponder a objetos de existencia real o abstractos.
- Métodos: Determinan las funciones que realizarán los objetos. Definidos dentro de cada clase describen el comportamiento de los objetos.
- Atributos: Son las características que distinguen a una clase y representan el estado de los objetos.
Los principios de la programación orientada a objetos son:
- Encapsulado: Toda la información se guarda dentro de un objeto y solo se hace disponible una parte. Cada clase definida guarda la implementación y el estado de cada clase y objeto. Los otros objetos solo tendran acceso a las funciones y métodos públicos.
- Abstracción: Los objetos solo revelan los mecanismos internos que son relevantes para otros objetos.
- Herencia: Las clases pueden reutilizar código de otras clase.
- Polimorfismo: Los objetos pueden tener diferentes comportamientos según las necesidades del programa.
A ver si puedo hacerlo más comprensible. Supongamos que queremos hacer un catálogo de sistemas operativos La información que contiene ese catálogo incluye estos parámetros:
- Desarrollador
- Año de lanzamiento.
- Soporte.
- Peso
- Derivado de:
- Arquitectura:
Los objetos serían por ejempo: Ubuntu, WIndows 10 FreeBSD 9. Cada uno de ellos tienen diferentes características que se almacenarán de acuerdo al modelo que se especifica más arriba y la información recopilada se mostrará a otras partes del programa según se necesiten.
En el próximo artículo veremos más ejemplos sobre cómo se utiliza la Programación Orientada a Objetos en Python.
relacionado url=»https://ubunlog.com/curso-de-programacion-en-python-con-linux-1/»]
.png)
