La biblioteca estàndard de Python és una col·lecció extensa de mòduls i paquets que proporcionen funcionalitats addicionals per a tasques comunes de programació. Aquesta biblioteca és una de les raons per les quals Python és tan popular, ja que permet als desenvolupadors escriure codi més eficient i amb menys esforç.
Objectius d'aquest Tema
- Entendre què és la biblioteca estàndard de Python.
- Aprendre a utilitzar alguns dels mòduls més comuns.
- Veure exemples pràctics de com aquests mòduls poden simplificar el desenvolupament.
Continguts
- Què és la Biblioteca Estàndard?
- Mòduls Comuns
os
sys
math
datetime
random
json
- Exemples Pràctics
- Exercicis Pràctics
- Què és la Biblioteca Estàndard?
La biblioteca estàndard de Python és un conjunt de mòduls que venen inclosos amb la instal·lació de Python. Aquests mòduls cobreixen una àmplia gamma de funcionalitats, des de la manipulació de fitxers fins a la comunicació en xarxa, passant per la gestió de dates i hores, i molt més.
- Mòduls Comuns
os
El mòdul os
proporciona una manera de treballar amb el sistema operatiu. Permet realitzar operacions com la manipulació de fitxers i directoris, així com l'execució de comandes del sistema.
import os # Obtenir el directori de treball actual current_directory = os.getcwd() print(f"Directori actual: {current_directory}") # Llistar els fitxers en un directori files = os.listdir(current_directory) print(f"Fitxers en el directori actual: {files}")
sys
El mòdul sys
proporciona accés a algunes variables utilitzades o mantenides per l'intèrpret de Python i a funcions que interactuen fortament amb l'intèrpret.
import sys # Obtenir la versió de Python print(f"Versió de Python: {sys.version}") # Sortir del programa # sys.exit()
math
El mòdul math
proporciona funcions matemàtiques bàsiques com arrels quadrades, potències, logaritmes, etc.
import math # Arrel quadrada print(f"Arrel quadrada de 16: {math.sqrt(16)}") # Valor de pi print(f"Valor de pi: {math.pi}")
datetime
El mòdul datetime
proporciona classes per manipular dates i hores.
from datetime import datetime # Obtenir la data i hora actuals now = datetime.now() print(f"Data i hora actuals: {now}") # Format de data formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print(f"Data formatada: {formatted_date}")
random
El mòdul random
proporciona funcions per generar números aleatoris.
import random # Generar un número aleatori entre 1 i 10 random_number = random.randint(1, 10) print(f"Número aleatori entre 1 i 10: {random_number}") # Triar un element aleatori d'una llista elements = ['poma', 'plàtan', 'cirera'] random_element = random.choice(elements) print(f"Element aleatori: {random_element}")
json
El mòdul json
permet treballar amb dades en format JSON (JavaScript Object Notation).
import json # Convertir un diccionari a una cadena JSON data = {'nom': 'Joan', 'edat': 30} json_data = json.dumps(data) print(f"Dades en format JSON: {json_data}") # Convertir una cadena JSON a un diccionari parsed_data = json.loads(json_data) print(f"Dades parsejades: {parsed_data}")
- Exemples Pràctics
Exemple 1: Llistat de Fitxers en un Directori
import os def list_files(directory): try: files = os.listdir(directory) return files except FileNotFoundError: return f"El directori {directory} no existeix." directory = "." print(f"Fitxers en el directori {directory}: {list_files(directory)}")
Exemple 2: Generació d'una Data Formatada
from datetime import datetime def get_formatted_date(): now = datetime.now() return now.strftime("%Y-%m-%d %H:%M:%S") print(f"Data i hora actuals: {get_formatted_date()}")
- Exercicis Pràctics
Exercici 1: Llistat de Fitxers
Escriu una funció que llisti tots els fitxers en un directori donat i imprimeixi només els fitxers amb una extensió específica (per exemple, .txt
).
Exercici 2: Generació de Números Aleatoris
Escriu una funció que generi una llista de 10 números aleatoris entre 1 i 100 i retorni la llista ordenada.
Exercici 3: Manipulació de JSON
Escriu una funció que prengui un diccionari Python, el converteixi a una cadena JSON i després el torni a convertir a un diccionari Python.
Solucions
Solució Exercici 1
import os def list_txt_files(directory): try: files = os.listdir(directory) txt_files = [file for file in files if file.endswith('.txt')] return txt_files except FileNotFoundError: return f"El directori {directory} no existeix." directory = "." print(f"Fitxers .txt en el directori {directory}: {list_txt_files(directory)}")
Solució Exercici 2
import random def generate_sorted_random_numbers(): random_numbers = [random.randint(1, 100) for _ in range(10)] random_numbers.sort() return random_numbers print(f"Números aleatoris ordenats: {generate_sorted_random_numbers()}")
Solució Exercici 3
import json def manipulate_json(data): json_data = json.dumps(data) parsed_data = json.loads(json_data) return parsed_data data = {'nom': 'Joan', 'edat': 30} print(f"Dades manipulades: {manipulate_json(data)}")
Conclusió
La biblioteca estàndard de Python és una eina poderosa que pot simplificar moltes tasques de programació. En aquest tema, hem explorat alguns dels mòduls més comuns i hem vist com utilitzar-los en exemples pràctics. Amb aquesta base, estaràs preparat per explorar més mòduls de la biblioteca estàndard i aplicar-los als teus projectes.
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