Ubunlog Diego Germán González  

Curso de programación en Python usando Linux. Parte 6

Microsoft usa Python para crear scripts en sus aplicaciones.

Estamos haciendo un pequeño curso de programación en Python usando Linux. Este lenguaje de programación multiplataforma es ideal para iniciarse en el mundo de la programación, y seguirse usando a medida que vayamos adquiriendo conocimientos avanzados porque también es útil para la creación de aplicaciones más complejas.

En la actualidad, Pyhton es el lenguaje preferido para el uso de aplicaciones en Ciencias de datos, Inteligencia Artificial e incluso la propia Microsoft lo está usando  para reemplazar su propio lenguaje de macros en la planilla de cálculos Excel

Curso de programación en Python usando Linux

Nos habíamos quedado en el post anterior con los parámetros del comando open() cuando se trabajan con archivos.  Dependiendo del  tipo de archivos es conveniente indicarle al intérprete de Python como debe actuar con los caracteres especiales que indican salto de línea.

open("archivo.txt", newline=None) Transforma \r\n y \r a \n (por defecto)
open("archivo.txt", newline="") No hace ninguna transformación
open("archivo.txt", newline="\n") Solo hace el salto de línea cuando detecta el caracter especial \n (Usado por Linux)
open("archivo.txt", newline="\r\n") Solo hace el sato de línea cuando detecta el caracter especial \r\n (Usado por Windows)

Para resumir los parámetros  de la instrucción open()

    • File: Indica el nombre del archivo (Si está en la misma carpeta) o la ruta donde encontrarlo.
    • Mode: Parámetro opcional, indica si el archivo se abre en modo de lectura, escritura, ambos y si se borrará el contenido cuando se escriba nuevo.
    • Buffering: Parámetro Opcional, determina el tamaño del buffer de memoria.

<li>Encoding: Parámetro Opcional, Indica la codificaicón del texto, por defecto se usa la del sistema operativo. Muy útil si se van a hacer aplicaciones para otros que utilicen caracteres especiales.

  • Errors: Indica como actuar en caso de que se detecten errores de codificación. También es un parámetro opcional.
  • Newline: Determina como manejar los saltos de línea. También es un parámetro opcinal.

Veamos el siguiente programa

class Sistemas:

Definimos la clase Sistemas que servirá para crear los objetos que representarán a los sistemas operativos.

def __init__(self, nombre, version, derivada):

Iniciamos el constructor y establecemos los parámetros.

self.nombre = nombre
self.version = version
self.derivada = derivada

Estás 3 líneas tomarán los valores a medida que ingresan y los almacenarán el el objeto.

def mostrar_info(self):

Establece cómo se mostrarán los datos

print(f"Nombre: {self.nombre}")
print(f"Versión: {self.version}")
print(f"Derivada: {self.derivada}")
print("-" * 20)

Imprime los parámetros y al final de cada grupo imprime guiones.

nombre = input("Nombre del sistema: ")
version = input("Versión: ")
derivada = input("Derivada: ")

Aquí se le indica al usuario que ingrese datos distribuciones.

with open("sistemas.txt", "a") as archivo:

Este comando comprueba si existe un archivo llamado sistemass.txt, lo crea si no existe y agrega los datos al final de los que están escritos.

archivo.write(nombre + "\n")
archivo.write(version + "\n")
archivo.write(derivada + "\n")

Imprime los datos almacenados con un salto de línea.

with open("sistemas.txt", "r") as archivo

Abre el archivo en modo de lectura-

lineas = [linea.strip() for linea in archivo.readlines()]

Esta instrucción lee todas las líneas del archivo y elimina los caracteres especiales que indican salto de línea.

sistemas = []

Crea la lista vacía donde se guardan los objetos que se reconstruyan.

for i in range(0, len(lineas), 3):

Genera series de números de tres en tres. Esto es porque se almacenan 3 parámetros por cada instancia del objeto sistemas operativos.

Supongamos que tenemos 3 sistemas (9 parámetros)

range(0, 9, 3) → 0, 3, 6

i=0 → líneas 0, 1, 2 → primer sistema
i=3 → líneas 3, 4, 5 → segundo sistema
i=6 → líneas 6, 7, 8 → tercer sistema

if i + 2 < len(lineas):

Esto es por seguridad. Se verifica que un grupo tenga 3 parámetros antes de hacer la lectura. Si no hay un grupo de 3 no hace la lectura.

Programa que lee archivos y agrega datos

Python dispone varias opciones para leer y escribir archivos.

Crea el objeto Sistemas

sistema = Sistemas()

Incorpora los datos de las líneas que corresponde

lineas[i],
lineas[i + 1],
lineas[i + 2]
Por ejemplo

i=0:
lineas[0] → «Ubuntu» → nombre
lineas[1] → «26.04» → version
lineas[2] → «Debian» → derivada

i=3:
lineas[3] → «Manjaro» → nombre
lineas[4] → «44» → version
lineas[5] → «Arch Linux»→ derivada

i=6:
lineas[6] → «Linux Mint» → nombre
lineas[7] → «22» → version
lineas[8] → «Ubuntu»→ derivada

sistemas.append(sistema)

Agrega el objeto recién creado a la lista Sistemas. El bucle finaliza cuando se incorporen todos los objetos reconstruidos del archivo.

for s in sistemas:

Recorre el archivo recién creado.

s.mostrar_info()

Llama al método para mostrar los parámetros de cada objeto.

Hasta ahora estuvimos tocando de oído usando instrucciones cuyo uso no tenemos del todo claro. Llegó el momento  de ocuparnos de ellos.

Operaciones matemáticas básicas con Python

En los programas creados en Python pueden usarse las siguientes operaciones matemáticas

  • Suma: a = 5 + 3 Asigna a la variable el valor 8
  • Resta: b = 10 – 2 Asigna a la variable el valor 8
  • Multiplicación: c = 4 * 2 ¿A que no adivinas el valor de la variable?
  • Division:  d = 5 /  3 Asigna a la variable el valor 1,6666…
  • División sin decimales: e = 21 // 7 Da como resultado 3.
  • Cálculo del resto de la división: f  =  5 % 3 Asigna a la variable el valor 2.
  •  Potencia: g  =  2 ** 4 Le asigna a la variable el valor 16.

Es posible hacer operaciones más complejas pero será necesario introducir el concepto de módulo del que hablaremos más adelante.

Variables

Tanto en los programas que usamos como ejemplo como en la lista que dimos recién de operaciones matemáticas, usamos variables. Las variables son contenedores en el que se almacenan datos que pueden ser introducidos por el código o en forma externa, modificarse y mostrarse cuando se necesite.  A diferencia de otros lenguajes de programación, en Python no es necesario declarar previamente a que tipo pertenece cada variable antes de usarlas.

Una variable se declara así

Nombre = "Diego"

Donde nombre es el nombre de la variable y el texto entre comillas a la derecha del igual le asigna el valor Diego.

Es posible asignar el valor a distintas variables  en una sola línea de código

nombre, apellido, edad  = «Diego», «González», 55

Reglas para el nombre de las variables

  • Caracteres permitidos: SI bien se pueden usar letras, signos de puntuación y guiones bajos, el nombre debe empezar siempre con una letra o un guión bajo. No importan si las letras son mayúsculas o minúsculas.
  • Sensibilidad a mayúsculas y minúsculas: El sistema diferencia palabras escritas con mayúsculas o minúsculas por lo que deben escribirse exactamente igual a como fueron declaradas.
  • Palabras reservadas: Existen una serie de palabras que no pueden usarse porque se las reserva el intérprete

Las palabra reservadas son:

False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield match case
En el próximo artículo continuaremos con los componentes del lenguaje de programación Python

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.