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
- Què és un Mòdul?
- Importació de Mòduls
- Creació de Mòduls Propis
- Què és un Paquet?
- Creació de Paquets Propis
- Exemples Pràctics
- Exercicis
- 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
- 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
Importació amb Àlies
Importació Específica
Importació de Tot
- 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"
- 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
- Creació de Paquets Propis
Exemple
- Crea un directori anomenat
mi_paquet. - Dins d'aquest directori, crea un fitxer
__init__.py. - Afegeix mòduls al paquet.
Estructura
Contingut dels Mòduls
Importació des d'un Paquet
from mi_paquet import operacions, salutacions
print(operacions.suma(3, 4))
print(salutacions.saluda("Anna"))
- Exemples Pràctics
Exemple 1: Utilitzant un Mòdul Existent
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!
- 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.0Solució 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)) # 20Conclusió
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
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn
