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