Configuration de l'encodage
Bien que Python 3 utilise par défaut l'encodage UTF-8, il est parfois nécessaire de spécifier explicitement l'encodage des fichiers sources pour garantir la compatibilité, notamment lors de l'utilisation de caractères spéciaux. On insère alors cette ligne en tout début de script :
# -*- coding: utf-8 -*-
Structures de données essentielles
Python s'appuie sur plusieurs types de données fondamentaux pour organiser l'information :
- Numbers : Entiers, flottants et complexes (immuables).
- Strings : Séquences de caractères pour le texte.
- Lists : Collections ordonnées et modifiables.
- Tuples : Collections ordonnées mais immuables (lecture seule).
- Dictionaries : Tableaux associatifs structurés par clés et valeurs.
Manipulation des chaînes de caractères (Slicing)
L'extraction de segments de texte est une opération courante via l'indiçage :
chaine = "Programmation"
print(chaine) # Affiche la chaîne complète
print(chaine[0]) # Premier caractère ('P')
print(chaine[2:6]) # Caractères de l'indice 2 à 5 ('ogra')
print(chaine[5:]) # Du 6ème caractère jusqu'à la fin
print(chaine * 3) # Répétition de la chaîne trois fois
Gestion des Listes
Les listes sont polyvalentes et acceptent des types hétérogènes :
elements = ["Python", 2024, 3.14, "Dev"]
# Itération simple
for item in elements:
print(f"Valeur : {item}")
# Parcours inversé à l'aide d'une boucle range
for i in range(len(elements) - 1, -1, -1):
print(elements[i])
# Alternative élégante pour l'inversion
for item in reversed(elements):
print(item)
Utilisation des Dictionnaires
Les dictionnaires permettent un accès rapide aux données via des clés uniques :
config = {"env": "prod", "version": 1.2, "debug": False}
# Accès à une valeur
print(config["env"])
# Parcours des paires clé-valeur
for cle, valeur in config.items():
print(f"Propriété : {cle} -> Valeur : {valeur}")
Modularité : Fonctions et Classes
L'orgnaisation du code repose sur la définitoin de blocs réutilisables.
Définition de fonctions
def calculer_surface(largeur, hauteur):
"""Calcule l'aire d'un rectangle."""
return largeur * hauteur
resultat = calculer_surface(10, 5)
Programmation Orientée Objet (POO)
class Calculateur:
def __init__(self, nom="Standard"):
self.nom = nom
def multiplier(self, x, y):
return x * y
def soustraire(self, x, y):
return x - y
# Instanciation
outil = Calculateur("Expert")
print(outil.multiplier(8, 4))
Interaction avec le système de fichiers
Python fournit des modules robustes pour la gestion des dossiers et des fichiers sur le disque :
import os
import shutil
# Informations sur un chemin
info = os.stat("mon_script.py")
# Suppression d'un fichier
os.remove("ancien_fichier.txt")
# Suppression d'un répertoire vide
os.rmdir("dossier_vide")
# Suppression récursive d'un répertoire et de son contenu
shutil.rmtree("cache_temp")
Gestion du temps et foramtage de dates
Le module time permet de manipuler les horodatages système :
import time
# Date actuelle au format AAAA-MM-JJ
date_courante = time.strftime("%Y-%m-%d", time.localtime())
print(f"Date : {date_courante}")
# Horodatage complet : Heure, Minutes, Secondes
horodatage = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(f"Log : {horodatage}")