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.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
- 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