Introducció

En aquest tema, aprendrem sobre els mòduls i paquets en Python. Els mòduls i paquets permeten organitzar el codi en unitats més petites i reutilitzables, facilitant la gestió de projectes grans i complexos.

Continguts

  1. Què és un Mòdul?
  2. Importació de Mòduls
  3. Creació de Mòduls Propis
  4. Què és un Paquet?
  5. Creació de Paquets Propis
  6. Exemples Pràctics
  7. Exercicis

  1. Què és un Mòdul?

Un mòdul en Python és un fitxer que conté definicions i sentències de Python. Els mòduls poden definir funcions, classes i variables, i també poden incloure codi executable.

Exemple de Mòdul

# fitxer: my_module.py

def saluda(nom):
    return f"Hola, {nom}!"

def suma(a, b):
    return a + b

  1. Importació de Mòduls

Per utilitzar les funcions i variables definides en un mòdul, primer hem d'importar el mòdul en el nostre script o en un altre mòdul.

Importació Simple

import my_module

print(my_module.saluda("Anna"))
print(my_module.suma(3, 4))

Importació amb Àlies

import my_module as mm

print(mm.saluda("Anna"))
print(mm.suma(3, 4))

Importació Específica

from my_module import saluda, suma

print(saluda("Anna"))
print(suma(3, 4))

Importació de Tot

from my_module import *

print(saluda("Anna"))
print(suma(3, 4))

  1. Creació de Mòduls Propis

Crear un mòdul propi és tan senzill com crear un fitxer .py amb les funcions, classes i variables que volem incloure.

Exemple

# fitxer: calculadora.py

def suma(a, b):
    return a + b

def resta(a, b):
    return a - b

def multiplica(a, b):
    return a * b

def divideix(a, b):
    if b != 0:
        return a / b
    else:
        return "No es pot dividir per zero"

  1. Què és un Paquet?

Un paquet és una col·lecció de mòduls organitzats en directoris. Cada paquet ha de contenir un fitxer especial anomenat __init__.py, que pot estar buit o contenir codi d'inicialització per al paquet.

Estructura d'un Paquet

mi_paquet/
    __init__.py
    modul1.py
    modul2.py

  1. Creació de Paquets Propis

Exemple

  1. Crea un directori anomenat mi_paquet.
  2. Dins d'aquest directori, crea un fitxer __init__.py.
  3. Afegeix mòduls al paquet.

Estructura

mi_paquet/
    __init__.py
    operacions.py
    salutacions.py

Contingut dels Mòduls

# fitxer: mi_paquet/operacions.py

def suma(a, b):
    return a + b

def resta(a, b):
    return a - b
# fitxer: mi_paquet/salutacions.py

def saluda(nom):
    return f"Hola, {nom}!"

Importació des d'un Paquet

from mi_paquet import operacions, salutacions

print(operacions.suma(3, 4))
print(salutacions.saluda("Anna"))

  1. Exemples Pràctics

Exemple 1: Utilitzant un Mòdul Existent

import math

print(math.sqrt(16))  # 4.0
print(math.pi)        # 3.141592653589793

Exemple 2: Creant i Utilitzant un Paquet

# fitxer: mi_paquet/__init__.py
# Aquest fitxer pot estar buit o contenir codi d'inicialització

# fitxer: mi_paquet/operacions.py
def suma(a, b):
    return a + b

def resta(a, b):
    return a - b

# fitxer: mi_paquet/salutacions.py
def saluda(nom):
    return f"Hola, {nom}!"

# fitxer: main.py
from mi_paquet import operacions, salutacions

print(operacions.suma(3, 4))  # 7
print(salutacions.saluda("Anna"))  # Hola, Anna!

  1. Exercicis

Exercici 1

Crea un mòdul anomenat matematica.py que contingui funcions per sumar, restar, multiplicar i dividir dos números. Importa aquest mòdul en un altre fitxer i utilitza les seves funcions.

Exercici 2

Crea un paquet anomenat utilitats amb dos mòduls: cadena.py i numeros.py. El mòdul cadena.py ha de contenir una funció per invertir una cadena, i el mòdul numeros.py ha de contenir una funció per trobar el màxim de dos números. Importa i utilitza aquestes funcions en un altre fitxer.

Solucions

Solució Exercici 1

# fitxer: matematica.py
def suma(a, b):
    return a + b

def resta(a, b):
    return a - b

def multiplica(a, b):
    return a * b

def divideix(a, b):
    if b != 0:
        return a / b
    else:
        return "No es pot dividir per zero"

# fitxer: main.py
import matematica

print(matematica.suma(3, 4))  # 7
print(matematica.divideix(10, 2))  # 5.0

Solució Exercici 2

# fitxer: utilitats/__init__.py
# Aquest fitxer pot estar buit o contenir codi d'inicialització

# fitxer: utilitats/cadena.py
def inverteix(cadena):
    return cadena[::-1]

# fitxer: utilitats/numeros.py
def maxim(a, b):
    return a if a > b else b

# fitxer: main.py
from utilitats import cadena, numeros

print(cadena.inverteix("Python"))  # nohtyP
print(numeros.maxim(10, 20))  # 20

Conclusió

En aquest tema, hem après què són els mòduls i paquets en Python, com crear-los i com utilitzar-los per organitzar i reutilitzar el nostre codi. Els mòduls i paquets són eines poderoses que ens ajuden a mantenir el nostre codi net, organitzat i fàcil de gestionar.

Curs de Programació en Python

Mòdul 1: Introducció a Python

Mòdul 2: Estructures de Control

Mòdul 3: Funcions i Mòduls

Mòdul 4: Estructures de Dades

Mòdul 5: Programació Orientada a Objectes

Mòdul 6: Gestió de Fitxers

Mòdul 7: Gestió d'Errors i Excepcions

Mòdul 8: Temes Avançats

Mòdul 9: Proves i Depuració

Mòdul 10: Desenvolupament Web amb Python

Mòdul 11: Ciència de Dades amb Python

Mòdul 12: Projecte Final

© Copyright 2024. Tots els drets reservats