1- Bases du langage
Affichage
print("Hello World!") # Affichage simple
print(f"Variable: {variable}") # f-string (Python 3.6+)
print("a", "b", sep=", ") # Séparateur personnalisé
Variables et types
x = 10 # Entier (int)
y = 3.14 # Flottant (float)
nom = "Alice" # Chaîne (str)
est_vrai = True # Booléen (bool)
a = None # Valeur nulle
Opérations
# Arithmétiques
5 + 3 # Addition
5 - 3 # Soustraction
5 * 3 # Multiplication
5 / 3 # Division (float)
5 // 3 # Division entière
5 % 3 # Modulo
5 ** 3 # Puissance
# Comparaison
a == b # Égalité
a != b # Différence
a < b # Inférieur
a > b # Supérieur
a <= b # Inférieur ou égal
a >= b # Supérieur ou égal
# Logiques
True and False # ET
True or False # OU
not True # NON
Structures de contrôle
# Condition if
if x > 0:
print("Positif")
elif x < 0:
print("Négatif")
else:
print("Zéro")
# Boucle for
for i in range(5): # 0 à 4
print(i)
for item in liste:
print(item)
# Boucle while
while x > 0:
print(x)
x -= 1
2- Structures de données
Listes
ma_liste = [1, 2, 3]
ma_liste[0] # Accès (1)
ma_liste[-1] # Dernier élément (3)
ma_liste.append(4) # Ajout en fin
ma_liste.insert(1, 5) # Insertion à l'index 1
ma_liste.remove(2) # Suppression par valeur
ma_liste.pop(0) # Suppression par index
len(ma_liste) # Taille
ma_liste.sort() # Tri
ma_liste.reverse() # Inversion
[x*2 for x in ma_liste] # List comprehension
Tuples
mon_tuple = (1, 2, 3) # Immutable
mon_tuple[0] # Accès (1)
a, b, c = mon_tuple # Déballage
Dictionnaires
mon_dict = {"clé": "valeur", "age": 30}
mon_dict["clé"] # Accès ("valeur")
mon_dict["nouvelle_clé"] = 42 # Ajout
"clé" in mon_dict # Vérification (True)
mon_dict.keys() # Clés
mon_dict.values() # Valeurs
mon_dict.items() # Paires clé-valeur
{key: val*2 for key, val in mon_dict.items()} # Dict comprehension
Sets
mon_set = {1, 2, 3} # Ensemble unique
mon_set.add(4) # Ajout
mon_set.remove(2) # Suppression
set1 | set2 # Union
set1 & set2 # Intersection
set1 - set2 # Différence
{x for x in range(5)} # Set comprehension
3- Fonctions
Définition
def ma_fonction(param1, param2=10):
"""Documentation de la fonction"""
result = param1 + param2
return result
Paramètres
# Paramètres positionnels
ma_fonction(1, 2)
# Paramètres nommés
ma_fonction(param2=2, param1=1)
# Nombre variable d'arguments
def fonction_varargs(*args):
for arg in args:
print(arg)
# Nombre variable d'arguments nommés
def fonction_kwargs(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
Fonctions lambda
carre = lambda x: x ** 2
sorted(liste, key=lambda x: x[1]) # Tri avec lambda
4- Fichiers
Lecture/Écriture
# Écriture
with open("fichier.txt", "w") as f:
f.write("Contenu\n")
# Lecture
with open("fichier.txt", "r") as f:
contenu = f.read() # Tout le contenu
lignes = f.readlines() # Liste de lignes
for ligne in f: # Lecture ligne par ligne
print(ligne.strip())
5- Gestion des erreurs
try:
result = 10 / 0
except ZeroDivisionError:
print("Division par zéro!")
except Exception as e:
print(f"Erreur: {e}")
else:
print("Aucune erreur")
finally:
print("Exécuté dans tous les cas")
6- Programmation Orientée Objet (OPP)
class MaClasse:
# Variable de classe
var_classe = 0
# Constructeur
def __init__(self, valeur):
self.valeur = valeur
# Méthode d'instance
def afficher(self):
print(f"Valeur: {self.valeur}")
# Méthode de classe
@classmethod
def methode_classe(cls):
print(f"Var classe: {cls.var_classe}")
# Méthode statique
@staticmethod
def methode_statique():
print("Méthode statique")
# Héritage
class Enfant(MaClasse):
def __init__(self, valeur, extra):
super().__init__(valeur)
self.extra = extra
7- Modules
Importation
import module
from module import fonction
from module import *
import module as alias
from package.submodule import fonction
Création
# Dans module.py
def fonction_module():
print("Fonction du module")
# Dans __init__.py (pour les packages)
8- Fonctions utiles
Built-ins
len(obj) # Taille
range(start, stop, step)# Génère une séquence
type(obj) # Type d'objet
isinstance(obj, type) # Vérification de type
enumerate(iterable) # Paire index-valeur
zip(iter1, iter2) # Agrégation d'itérables
sorted(iterable) # Tri
filter(func, iterable) # Filtrage
map(func, iterable) # Application de fonction
Bibliothèque standard
# Math
import math
math.sqrt(16) # Racine carrée
math.pi # Constante π
# Dates
from datetime import datetime
now = datetime.now()
now.strftime("%d/%m/%Y %H:%M:%S")
# JSON
import json
json_str = json.dumps({"a": 1}) # Dict → JSON
data = json.loads(json_str) # JSON → Dict
# Système
import os
os.listdir() # Liste fichiers
os.path.exists("fichier") # Vérifie existence
# Expressions régulières
import re
re.findall(r"\d+", "a1b22c") # ['1', '22']
9- Itérateurs et générateurs
# Générateur simple
def gen():
yield 1
yield 2
# Expression de générateur
gen_expr = (x**2 for x in range(5))
# Itérateur personnalisé
class MonIterateur:
def __iter__(self):
self.n = 0
return self
def __next__(self):
if self.n < 5:
self.n += 1
return self.n
else:
raise StopIteration
10- Décorateurs
def mon_decorateur(func):
def wrapper(*args, **kwargs):
print("Avant l'appel")
result = func(*args, **kwargs)
print("Après l'appel")
return result
return wrapper
@mon_decorateur
def ma_fonction():
print("Fonction décorée")
11- Contexte (context managers)
class MonContexte:
def __enter__(self):
print("Entrée")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Sortie")
with MonContexte() as ctx:
print("Dans le contexte")
12- Multithreading/Multiprocessing
# Threading
import threading
def worker():
print("Tâche exécutée")
thread = threading.Thread(target=worker)
thread.start()
thread.join()
# Multiprocessing
from multiprocessing import Process
proc = Process(target=worker)
proc.start()
proc.join()
13 – Bonnes pratiques
- Utiliser
snake_case
pour les noms de variables/fonctions - Utiliser
PascalCase
pour les noms de classes - Documenter avec docstrings (
"""Description"""
) - Utiliser des annotations de type (Python 3.5+)
def fonction(param: int) -> str:
return str(param)
Ce cheat sheet couvre les principales fonctionnalités de Python 3. Pour des domaines spécifiques (web, data science, etc.), des bibliothèques supplémentaires seraient nécessaires.