Curs de programació a Python usant Linux. Part 6

Microsoft fa servir Python per crear scripts a les seves aplicacions.

Estem fent un petit curs de programació a Python usant Linux. Aquest llenguatge de programació multiplataforma és ideal per iniciar-se al món de la programació, i seguir usant a mesura que anem adquirint coneixements avançats perquè també és útil per a la creació d'aplicacions més complexes.

En l'actualitat, Pyhton és el llenguatge preferit per a l'ús d'aplicacions a Ciències de dades, Intel·ligència Artificial i fins i tot la pròpia Microsoft ho està usant per reemplaçar el seu propi llenguatge de macros a la planella de càlculs Excel

Curs de programació a Python usant Linux

Ens havíem quedat al post anterior amb els paràmetres de l'ordre open() quan es treballen amb arxius. Depenent del tipus de fitxers és convenient indicar a l'intèrpret de Python com ha d'actuar amb els caràcters especials que indiquen salt de línia.

open("archivo.txt", newline=None) Transforma \r\ny \ra \n (per defecte)
open("archivo.txt", newline="") No fa cap transformació
open("archivo.txt", newline="\n") Només fa el salt de línia quan detecta el caràcter especial \n (usat per Linux)
open("archivo.txt", newline="\r\n") Només fa el sat de línia quan detecta el caràcter especial \r\n (Usat per Windows)

Per resumir els paràmetres de la instrucció open()

    • Dossier: Indica el nom del fitxer (Si és a la mateixa carpeta) o la ruta on trobar-lo.
    • Mode: Paràmetre opcional, indica si el fitxer s'obre en mode de lectura, escriptura, tots dos i si s'esborrarà el contingut quan s'escrigui nou.
    • Memòria: Paràmetre Opcional, determina la mida del buffer de memòria.

>Encoding: Paràmetre Opcional, Indica la codificació del text, per defecte s'usa la del sistema operatiu. Molt útil si es faran aplicacions per a altres que utilitzin caràcters especials.

  • Errors: Indica com actuar en cas que es detectin errors de codificació. També és un paràmetre opcional.
  • Newline: Determina com manejar els salts de línia. També és un paràmetre opcinal.

Vegem el programa següent

class Sistemas:

Definim la classe Sistemes que servirà per crear els objectes que representaran els sistemes operatius.

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

Iniciem el constructor i establim els paràmetres.

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

Aquestes 3 línies prendran els valors a mesura que ingressen i els emmagatzemaran a l'objecte.

def mostrar_info(self):

Estableix com es mostraran les dades

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

Imprimeix els paràmetres i al final de cada grup imprimeix guions.

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

Aquí se us indica a l'usuari que introduïu dades distribucions.

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

Aquesta ordre comprova si hi ha un fitxer anomenat sistemes.txt, el crea si no existeix i afegeix les dades al final de les que estan escrites.

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

Imprimeix les dades emmagatzemades amb un salt de línia.

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

Obre el fitxer en mode de lectura-

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

Aquesta instrucció llegeix totes les línies del fitxer i elimina els caràcters especials que indiquen el salt de línia.

sistemas = []

Crea la llista buida on es desen els objectes que es reconstrueixin.

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

Genera sèries de números de tres en tres. Això és perquè s'emmagatzemen 3 paràmetres per cada instància de l'objecte sistemes operatius.

Suposem que tenim 3 sistemes (9 paràmetres)

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

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

if i + 2 < len(linees):

Això és per seguretat. Es verifica que un grup tingui 3 paràmetres abans de fer-ne la lectura. Si no hi ha un grup de 3 no en fa la lectura.

Programa que llegeix fitxers i afegeix dades

Python disposa de diverses opcions per llegir i escriure fitxers.

Crea l'objecte Sistemes

sistema = Sistemes()

Incorpora les dades de les línies que correspon

línies[i],
línies[i + 1],
línies[i + 2]
Per exemple

i=0:
línies[0] → «Ubuntu» → nom
línies[1] → «26.04» → versió
línies[2] → «Debian» → derivada

i=3:
línies[3] → «Manjaro» → nom
línies[4] → «44» → versió
línies[5] → «Arch Linux»→ derivada

i=6:
línies[6] → «Linux Mint» → nom
línies[7] → «22» → versió
línies[8] → «Ubuntu»→ derivada

sistemas.append(sistema)

Afegeix l'objecte creat recentment a la llista Sistemes. El bucle finalitza quan s'incorporin tots els objectes reconstruïts del fitxer.

for s in sistemas:

Recorre el fitxer acabat de crear.

s.mostrar_info()

Truca al mètode per mostrar els paràmetres de cada objecte.

Fins ara vam estar tocant d'orella usant instruccions l'ús de les quals no tenim del tot clar. Va arribar el moment d'ocupar-nos-en.

Operacions matemàtiques bàsiques amb Python

En els programes creats a Python es poden fer servir les següents operacions matemàtiques

  • Suma: a = 5 + 3 Assigna a la variable el valor 8
  • Resta: b = 10 – 2 Assigna a la variable el valor 8
  • Multiplicació: c = 4 * 2 Al fet que no endevines el valor de la variable?
  • Division: d = 5 / 3 Assigna a la variable el valor 1,6666…
  • Divisió sense decimals: e = 21 // 7 Dóna com a resultat 3.
  • Càlcul de la resta de la divisió: f = 5 % 3 Assigna a la variable el valor 2.
  •  Potència: g = 2 ** 4 Us assigna a la variable el valor 16.

És possible fer operacions més complexes però caldrà introduir el concepte de mòdul de què parlarem més endavant.

Variables

Tant als programes que fem servir com a exemple com a la llista que vam donar recentment d'operacions matemàtiques, fem servir variables. Les variables són contenidors on s'emmagatzemen dades que poden ser introduïdes pel codi o en forma externa, modificar-se i mostrar-se quan es necessiti. A diferència d'altres llenguatges de programació, a Python no cal declarar prèviament a quin tipus pertany cada variable abans d'usar-les.

Una variable es declara així

Nombre = "Diego"

On nom és el nom de la variable i el text entre cometes a la dreta del mateix us assigna el valor Diego.

És possible assignar el valor a diferents variables en una sola línia de codi

nom, cognom, edat = Diego, González, 55

Regles per al nom de les variables

  • Caràcters permesos: Si bé es poden fer servir lletres, signes de puntuació i guions baixos, el nom ha de començar sempre amb una lletra o un guió baix. No importen si les lletres són majúscules o minúscules.
  • Sensibilitat a majúscules i minúscules: El sistema diferencia paraules escrites amb majúscules o minúscules, per la qual cosa s'han d'escriure exactament igual a com van ser declarades.
  • Paraules reservades: Hi ha una sèrie de paraules que no es poden fer servir perquè se les reserva l'intèrpret

Les paraula reservades són:

Fals await else import pass None break excepte en raise True class finally es return i continua per lambda try es de from nonlocal while assert del global no s async elif if or yield match case
En el proper article continuarem amb els components del llenguatge de programació Python

Python és un llenguatge molt popular de programació.
Article relacionat:
Curs de programació en Python usant Linux Cinquena part