Maîtrise des fondamentaux de la programmation Python

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}")

Étiquettes: Python structures de données POO Gestion de fichiers programmation

Publié le 26 juin à 21h22