★ À maîtriser
Pour imprimer les éléments d’un itérable horizontalement, il faut remplacer le séparateur de fin par une chaîne vide avec print(element, end=" "), car end="\n" est utilisé par défaut.
Deux dictionnaires peuvent être fusionnés avec l’opérateur | ou avec la syntaxe {**dictionnaire1, **dictionnaire2}.
Deux variables peuvent être échangées directement avec l’affectation multiple x, y = y, x ou en trois étapes avec l’opérateur XOR.
📌 La méthode
sort(**reverse=True**)trie une liste existante dans l’ordre décroissant et renvoieNone.
Compléments
📌 La méthode
sort()ne peut trier que des éléments comparables du même type et ne s’applique pas directement aux ensembles, tuples, chaînes ou dictionnaires.
sep de print() définit le séparateur entre les arguments affichés, par exemple sep='/' transforme 12, 12, 1990 en 12/12/1990.sort() modifie la liste, sorted() crée une nouvelle liste
abs() ; pour un nombre complexe, abs() renvoie sa magnitude.★ À maîtriser
Le module intégré calendar permet d’afficher le calendrier d’un mois avec calendar.month(année, mois) et de vérifier une année bissextile avec calendar.isleap(année).
Le module datetime permet d’obtenir l’heure actuelle formatée avec datetime.now().strftime('%H:%M:%S'), tandis que date.today() renvoie la date du jour.
La classe Counter du module collections compte les occurrences des éléments d’un itérable et permet d’obtenir celle d’un élément avec .get().
Une liste imbriquée à deux dimensions peut être aplatie avec des boucles imbriquées, itertools.chain.from_iterable() ou une compréhension de liste.
Pour trouver l’indice du plus grand ou du plus petit nombre, il faut appliquer max() ou min() à enumerate(x) avec une clé lambda x: x[1], puis lire l’indice dans le premier élément du tuple obtenu.
Compléments
'{:,}'.format(num) ou avec une f-string utilisant f'{num:_}'.compter, aplatir, indexer, mesurer
★ À maîtriser
heapq permet d’obtenir les cinq plus grandes valeurs avec **nlargest(5, iterable)** ou les cinq plus petites avec **nsmallest(5, iterable)**.📌
startswith()renvoieTruesi une chaîne commence par une valeur donnée etendswith()renvoieTruesi elle se termine par cette valeur.
📌 Deux chaînes sont des anagrammes si leurs caractères triés sont identiques ou si leurs compteurs de caractères sont égaux.
Compléments
speedtest mesure les débits descendant et montant, exprimés en bits puis divisés par **8000000** pour obtenir les résultats en mégaoctets selon l’exemple.📌 La fonction
max(chaîne, key=chaîne.count)renvoie le caractère le plus fréquent d’une chaîne ; en cas d’égalité, l’exemple indique que le caractère alphabétiquement premier est renvoyé.
★ À maîtriser
La fonction dir() liste les propriétés et méthodes disponibles sur un objet ou un module, par exemple une chaîne ou le module collections.
Les mots-clés réservés de Python peuvent être affichés avec help('keywords') et ne peuvent pas être utilisés comme noms de variables.
Compléments
Le module intégré webbrowser ouvre une URL avec webbrowser.open(url), dans un nouvel onglet avec open_new_tab(url) ou dans une nouvelle fenêtre avec open_new(url).
Les clés d’un dictionnaire peuvent être obtenues avec une compréhension d’ensemble, set(dictionnaire) ou sorted(dictionnaire).
Pour comparer la consommation mémoire d’objets, sys.getsizeof() renvoie leur taille ; dans l’exemple, la liste vaut 88, l’ensemble 216 et le tuple 72.
inspecter l’objet → mieux contrôler le code
Pour vérifier qu’un objet est itérable, il faut appeler iter(objet) et intercepter TypeError lorsqu’il ne l’est pas.
Une liste de tuples peut être triée avec sorted() et itemgetter() en choisissant l’indice du prénom, du nom, ou les indices (0, 1).
La fonction sorted() accepte une fonction lambda dans son paramètre key pour définir la clé de tri et trie par défaut dans l’ordre croissant.
enumerate(iterable, **start**) associe un compteur aux éléments d’un itérable et permet de créer une liste de tuples, avec un départ par défaut à zéro.
La fonction filter() reçoit une fonction et une séquence pour conserver les éléments qui satisfont le critère, par exemple les noms en minuscules avec lambda x: x.islower().
📌 L’instruction
assert condition, messagevérifie une condition et interrompt le programme avec uneAssertionErrorsi la condition est fausse.
énumérer → vérifier → filtrer
★ À maîtriser
La fonction type() peut créer dynamiquement une classe en recevant son nom, ses bases et un dictionnaire contenant ses attributs et méthodes.
Une compréhension d’ensemble utilise des accolades, transforme les éléments d’un itérable et supprime les doublons car un ensemble ne les autorise pas.
📌 Une chaîne vide est évaluée comme
Falseen Python ; l’opérateurnotpermet donc de tester sa vacuité avecif not chaîne.
📌
os.path.exists(chemin)renvoie un booléen indiquant si un fichier existe et permet d’éviter une erreur avant sa suppression.
📐 Formule — Une fonction utilisant
*argspeut accepter un nombre variable d’arguments positionnels et calculer leur moyenne avec .
Compléments
Une liste imbriquée à deux dimensions peut être aplatie avec sum(liste, []) ou avec reduce(lambda x, y: x+y, liste).
Le paramètre **kwargs permet à une fonction d’accepter un nombre variable d’arguments nommés, regroupés sous forme de dictionnaire de paires clé-valeur.
liste ordonnée, ensemble sans doublons
📌 Une compréhension de liste produit tous ses éléments immédiatement, tandis qu’un générateur fournit un élément à la fois et utilise moins de mémoire.
📌 Une instruction return renvoie une valeur et termine la fonction, tandis qu’une instruction yield produit un générateur dont les valeurs peuvent être parcourues successivement.
return arrête, yield produit progressivement
★ À maîtriser
📌 Dans pandas, l’affectation df['Age'] = [2, 4, 3] ajoute une colonne Age au DataFrame.
📌 La méthode df.drop('Models', inplace=True, axis=1) supprime la colonne Models du DataFrame original, car axis=1 désigne les colonnes et inplace=True applique directement la modification.
Compléments
📐 Formule — Une compréhension peut diviser chaque valeur du dictionnaire par deux selon la relation .
listes → DataFrame → ajout → suppression
★ À maîtriser
L’écriture d’une liste de noms dans un fichier CSV consiste à ouvrir le fichier en mode écriture, écrire chaque nom, puis écrire le caractère de nouvelle ligne \n après chaque nom.
Le module PyPDF2 permet de fusionner plusieurs PDF en créant un PdfFileMerger, en ajoutant chaque fichier avec append(), puis en écrivant et fermant le fichier fusionné.
Compléments
La bibliothèque pdf2docx convertit un PDF en document Word en créant un Converter, en appelant convert() avec le chemin du fichier cible, puis en fermant le convertisseur.
PyPDF2 extrait le texte d’une page PDF en ouvrant le fichier en mode binaire, en créant un PdfFileReader, en sélectionnant une page avec getPage() et en appelant extractText().
La bibliothèque python-barcode génère un code-barres ISBN13 à partir d’une chaîne de 12 chiffres, puis l’enregistre comme image PNG avec ImageWriter.
écrire → fusionner → convertir → extraire
★ À maîtriser
📌 La fonction sorted() peut recevoir une fonction ou une lambda dans son paramètre key afin de déterminer la clé de tri des éléments.
Compléments
Le décorateur timer utilise time.perf_counter() pour mesurer la durée d’exécution d’une fonction.
Le temps d’exécution peut être mesuré avec timeit.timeit(stmt=code, number=1000), où stmt est une chaîne contenant le code et number le nombre d’exécutions.
★ À maîtriser
📌 L’opérateur in renvoie True lorsqu’une sous-chaîne appartient à une chaîne, tandis que not in teste son absence.
📌 Les données bytes peuvent être converties en chaîne avec str(s, 'UTF-8') ou avec la méthode s.decode().
Compléments
📐 Formule — La moyenne de trois nombres saisis est calculée par .
★ À maîtriser
📌 zip() associe les éléments de deux itérables par position et dict() transforme les paires obtenues en dictionnaire; les éléments sans paire correspondante sont ignorés.
Compléments
★ À maîtriser
Pour prendre une capture d’écran, pyautogui.screenshot() crée l’image, image.save() l’enregistre, puis cv.cvtColor(np.array(image), cv.COLOR_RGB2BGR) la convertit du format RGB vers BGR pour OpenCV.
Un filigrane peut être ajouté à une image avec Pillow en ouvrant l’image, en créant un objet ImageDraw, en choisissant une police et une position, puis en dessinant et en sauvegardant le texte.
Le module intégré zipfile extrait une archive avec ZipFile('file.zip', 'r'), printdir() pour afficher son contenu et extractall() pour extraire tous les fichiers, tandis que with ferme automatiquement l’archive.
Compléments
Créer → convertir → afficher → sauvegarder
La fonction zip() associe les éléments de même index provenant de plusieurs séquences afin de permettre leur parcours simultané dans une boucle.
La combinaison de split(), map() et list() transforme une chaîne en liste de mots, tandis que join() combiné à map() reconstruit une chaîne à partir d’une liste de chaînes.
Une fonction Python qui exécute return 1, 2, 3 renvoie un tuple contenant les trois valeurs, et l’affectation x, y, z = values() permet ensuite de les récupérer séparément.
📌 append() ajoute une liste entière comme un seul élément, tandis que extend() ajoute individuellement les éléments de cette liste à la liste cible.
append regroupe, extend déploie
★ À maîtriser
Compléments
La fonction more_itertools.collapse() aplatit une liste imbriquée ou une liste de tuples en une liste contenant successivement tous les éléments internes.
Dans l’exemple fourni, la taille affichée de la classe Cars passe de 1072 sans slots à 904 avec slots.
slots → moins de mémoire
★ À maîtriser
📐 Formule — La factorielle d’un entier positif n est le produit de tous les entiers de 1 à n, soit .
Compléments
📌 La concaténation assemble les chaînes avec l’opérateur +, tandis que join() assemble les éléments d’un itérable avec un séparateur et peut être plus rapide pour plus de trois chaînes.
concaténation répétée ≠ join unique
★ À maîtriser
TextBlob corrige les erreurs orthographiques avec TextBlob(n).correct() et peut former le pluriel d’un mot avec Word(...).pluralize().
Le module better_profanity peut censurer les mots interdits avec profanity.censor(), détecter leur présence avec contains_profanity() et charger une liste personnalisée avec load_censor_words().
Pour trouver les facteurs d’un nombre n, il faut tester chaque entier de 1 à n et retenir ceux pour lesquels le reste de la division n % i vaut zéro.
📌 La fonction all() renvoie True lorsque tous les éléments testés satisfont la condition, ce qui permet de vérifier qu’une liste contient des éléments identiques.
Compléments
Structures d’itération
| Notion | Production | Mémoire |
|---|---|---|
| Compréhension de liste | Tous les éléments immédiatement | Plus élevée |
| Générateur | Un élément à la fois | Plus faible |
| return | Une valeur puis arrêt | Non applicable |
| yield | Valeurs successives dans un générateur | Progressive |
Teste tes connaissances sur Python Tips et Astuces avec 58 questions à choix multiples et corrections détaillées.
1. Quelle instruction permet d’afficher les éléments d’un itérable horizontalement sans ajouter de retour à la ligne après chaque élément ?
2. Quelle syntaxe permet de fusionner les dictionnaires `d1` et `d2` en Python moderne ?
Mémorisez les concepts clés de Python Tips et Astuces avec 89 flashcards interactives.
Comment imprimer les éléments d'un itérable horizontalement en Python ?
En utilisant print(element, end=" ") pour remplacer le séparateur de fin par une chaîne vide.
Quel est le rôle du paramètre sep dans print() ?
Il définit le séparateur entre les arguments affichés.
Comment fusionner deux dictionnaires en Python ?
Avec l'opérateur | ou la syntaxe {**dictionnaire1, **dictionnaire2}.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches