Flashcards : Python Tips et Astuces — 89 cartes

Toutes les cartes

1Question

Comment imprimer les éléments d'un itérable horizontalement en Python ?

Réponse

En utilisant print(element, end=" ") pour remplacer le séparateur de fin par une chaîne vide.

2Question

Quel est le rôle du paramètre sep dans print() ?

Réponse

Il définit le séparateur entre les arguments affichés.

3Question

Comment fusionner deux dictionnaires en Python ?

Réponse

Avec l'opérateur | ou la syntaxe {**dictionnaire1, **dictionnaire2}.

4Question

Que fait la méthode sort(reverse=True) sur une liste ?

Réponse

Elle trie la liste dans l'ordre décroissant et renvoie None.

5Question

Quels types ne peuvent pas être triés directement avec sort() ?

Réponse

Les ensembles, tuples, chaînes et dictionnaires ne peuvent pas être triés directement.

6Question

Que nécessite la méthode sort() pour trier des éléments ?

Réponse

Les éléments doivent être comparables et du même type.

7Question

Comment échanger deux variables directement en Python ?

Réponse

Avec l'affectation multiple x, y = y, x.

8Question

Quelle autre méthode permet d'échanger deux variables en trois étapes ?

Réponse

L'opérateur XOR permet d'échanger deux variables en trois étapes.

9Question

Comment afficher le calendrier d'un mois avec le module calendar ?

Réponse

Avec calendar.month(année, mois).

10Question

Comment vérifier si une année est bissextile avec calendar ?

Réponse

Avec calendar.isleap(année).

11Question

Comment obtenir l'heure actuelle formatée avec datetime ?

Réponse

Avec datetime.now().strftime('%H:%M:%S').

12Question

Quelle fonction renvoie la date du jour dans datetime ?

Réponse

date.today().

13Question

Que compte la classe Counter du module collections ?

Réponse

Les occurrences des éléments d’un itérable.

14Question

Comment obtenir l’occurrence d’un élément avec Counter ?

Réponse

Avec la méthode .get().

15Question

Comment aplatir une liste imbriquée à deux dimensions ?

Réponse

Avec des boucles imbriquées, itertools.chain.from_iterable(), ou une compréhension de liste.

16Question

Comment calculer la valeur absolue d’un nombre complexe en Python ?

Réponse

Avec abs() qui renvoie sa magnitude.

17Question

Que renvoie startswith() pour une chaîne commençant par une valeur donnée ?

Réponse

True

18Question

Que renvoie endswith() pour une chaîne se terminant par une valeur donnée ?

Réponse

True

19Question

Quelle fonction du module heapq donne les cinq plus grandes valeurs ?

Réponse

nlargest(5, iterable)

20Question

Quelle fonction du module heapq donne les cinq plus petites valeurs ?

Réponse

nsmallest(5, iterable)

21Question

Quand deux chaînes sont-elles des anagrammes ?

Réponse

Quand leurs caractères triés sont identiques ou leurs compteurs égaux

22Question

Que mesure le module speedtest selon l'exemple ?

Réponse

Les débits descendant et montant

23Question

Comment sont exprimés les débits mesurés par speedtest avant conversion ?

Réponse

En bits

24Question

Que renvoie max(chaîne, key=chaîne.count) ?

Réponse

Le caractère le plus fréquent de la chaîne

25Question

Comment afficher les mots-clés réservés en Python ?

Réponse

Avec la commande help('keywords').

26Question

Pourquoi ne peut-on pas utiliser les mots-clés réservés comme noms de variables ?

Réponse

Parce qu'ils sont réservés par le langage Python.

27Question

Que fait la fonction dir() en Python ?

Réponse

Elle liste les propriétés et méthodes d'un objet ou module.

28Question

Comment ouvrir une URL dans un nouvel onglet avec le module webbrowser ?

Réponse

Avec la fonction open_new_tab(url).

29Question

Quelle fonction permet d'obtenir la taille mémoire d'un objet en Python ?

Réponse

La fonction sys.getsizeof().

30Question

Quelle est la taille mémoire d'une liste dans l'exemple donné ?

Réponse

Elle vaut 88 octets.

31Question

Comment obtenir les clés d'un dictionnaire sous forme triée ?

Réponse

Avec sorted(dictionnaire).

32Question

Comment obtenir les clés d'un dictionnaire sous forme d'ensemble ?

Réponse

Avec set(dictionnaire).

33Question

Comment vérifier si un objet est itérable en Python ?

Réponse

Il faut appeler iter(objet) et intercepter TypeError.

34Question

Comment trier une liste de tuples selon prénom ou nom ?

Réponse

Avec sorted() et itemgetter() en choisissant l’indice correspondant.

35Question

Quelle fonction accepte une lambda pour définir la clé de tri ?

Réponse

La fonction sorted() accepte une fonction lambda dans key.

36Question

Quel est l’ordre de tri par défaut de sorted() ?

Réponse

L’ordre croissant est le tri par défaut de sorted().

37Question

Que fait enumerate(iterable, start) en Python ?

Réponse

Il associe un compteur aux éléments d’un itérable.

38Question

Quelle est la valeur par défaut du paramètre start dans enumerate ?

Réponse

Le compteur commence par défaut à zéro.

39Question

Que fait l’instruction assert en Python ?

Réponse

Elle vérifie une condition et interrompt si elle est fausse.

40Question

Comment filter() sélectionne-t-elle les éléments d’une séquence ?

Réponse

Elle conserve les éléments qui satisfont la fonction critère.

41Question

Comment créer dynamiquement une classe avec `type()` ?

Réponse

En donnant son nom, ses bases et un dictionnaire d'attributs et méthodes.

42Question

Comment tester si une chaîne est vide en Python ?

Réponse

Avec `if not chaîne` car une chaîne vide est évaluée comme False.

43Question

Que renvoie `os.path.exists(chemin)` ?

Réponse

Un booléen indiquant si un fichier existe.

44Question

Pourquoi une compréhension d’ensemble supprime-t-elle les doublons ?

Réponse

Parce qu’un ensemble n’autorise pas les doublons.

45Question

Comment calcule-t-on la moyenne avec `*args` ?

Réponse

Avec moyenne=sum(args)len(args)\mathrm{moyenne}=\frac{\mathrm{sum}(args)}{\mathrm{len}(args)}.

46Question

Que permet le paramètre `**kwargs` dans une fonction ?

Réponse

D’accepter un nombre variable d’arguments nommés sous forme de dictionnaire.

47Question

Que permettent les paramètres *args dans une fonction ?

Réponse

D'accepter un nombre variable d'arguments positionnels.

48Question

Que permettent les paramètres **kwargs dans une fonction ?

Réponse

D'accepter un nombre variable d'arguments nommés sous forme de dictionnaire.

49Question

Quel est le rôle de la fonction filter() ?

Réponse

Conserver les éléments d'une séquence qui satisfont un critère défini par une fonction.

50Question

Quelle différence y a-t-il entre une compréhension de liste et un générateur ?

Réponse

La compréhension produit tous ses éléments immédiatement, le générateur un à un.

51Question

Quel avantage mémoire a un générateur par rapport à une compréhension de liste ?

Réponse

Il utilise moins de mémoire en fournissant un élément à la fois.

52Question

Que fait une instruction return dans une fonction ?

Réponse

Elle renvoie une valeur et termine la fonction.

53Question

Que produit une instruction yield dans une fonction ?

Réponse

Un générateur dont les valeurs peuvent être parcourues successivement.

54Question

Comment créer un DataFrame à partir de deux listes en pandas ?

Réponse

Il faut importer pandas, zipper les listes, puis passer au constructeur DataFrame avec colonnes et index.

55Question

Que fait l'affectation df['Age'] = [2, 4, 3] dans pandas ?

Réponse

Elle ajoute une colonne Age au DataFrame.

56Question

Que signifie axis=1 dans df.drop('Models', inplace=True, axis=1) ?

Réponse

axis=1 désigne les colonnes du DataFrame.

57Question

Quel effet a inplace=True dans df.drop('Models', inplace=True, axis=1) ?

Réponse

inplace=True applique la suppression directement sur le DataFrame original.

58Question

Qu'est-ce qu'une compréhension de dictionnaire ?

Réponse

C'est une expression qui crée un nouveau dictionnaire en modifiant les valeurs d'un autre en une ligne.

59Question

Quelle opération réalise la compréhension {k:v/2 for (k,v) in dict1.items()}\{k: v/2 \text{ for } (k,v) \text{ in } dict1.items()\} ?

Réponse

Elle divise chaque valeur du dictionnaire dict1 par deux.

60Question

Comment écrit-on une liste de noms dans un fichier CSV ?

Réponse

On ouvre le fichier en écriture, écrit chaque nom, puis ajoute \n après chaque nom.

61Question

Quelle méthode PyPDF2 utilise-t-on pour fusionner plusieurs PDF ?

Réponse

La méthode append() de PdfFileMerger.

62Question

Quelle est la dernière étape pour créer un PDF fusionné avec PyPDF2 ?

Réponse

Écrire et fermer le fichier fusionné.

63Question

Comment convertit-on un PDF en Word avec pdf2docx ?

Réponse

On crée un Converter, appelle convert() avec le fichier cible, puis ferme le convertisseur.

64Question

Comment PyPDF2 extrait-il le texte d'une page PDF ?

Réponse

En ouvrant le fichier binaire, créant PdfFileReader, sélectionnant la page, puis appelant extractText().

65Question

Quelle bibliothèque génère un code-barres ISBN13 en Python ?

Réponse

La bibliothèque python-barcode.

66Question

Comment python-barcode enregistre-t-il un code-barres ISBN13 ?

Réponse

Comme une image PNG avec ImageWriter.

67Question

Qu'ajoute un décorateur à une fonction sans modifier son code ?

Réponse

Une fonctionnalité supplémentaire.

68Question

Comment un décorateur exécute-t-il la fonction décorée ?

Réponse

À l’intérieur d’une fonction interne comme inner().

69Question

Quelle fonction le décorateur timer utilise-t-il pour mesurer la durée d'exécution ?

Réponse

time.perf_counter().

70Question

Qu'est-ce qu'une fonction d’ordre supérieur ?

Réponse

Une fonction qui prend ou renvoie une autre fonction.

71Question

Quel paramètre de sorted() permet de définir la clé de tri ?

Réponse

Le paramètre key.

72Question

Quel type d'objet peut être passé au paramètre key de sorted() ?

Réponse

Une fonction ou une lambda.

73Question

Comment mesure-t-on le temps d’exécution avec timeit.timeit ?

Réponse

En passant le code en chaîne à stmt et le nombre d’exécutions à number.

74Question

Que représente le paramètre number dans timeit.timeit ?

Réponse

Le nombre d’exécutions du code.

75Question

Que renvoie l'opérateur in en Python ?

Réponse

True si une sous-chaîne appartient à une chaîne.

76Question

Que teste l'opérateur not in en Python ?

Réponse

L'absence d'une sous-chaîne dans une chaîne.

77Question

Que renvoie la méthode find() pour une sous-chaîne ?

Réponse

L'indice où commence la sous-chaîne dans la chaîne.

78Question

Comment convertir des données bytes en chaîne en Python ?

Réponse

Avec str(s, 'UTF-8') ou s.decode().

79Question

Comment lire plusieurs entrées sur une même ligne en Python ?

Réponse

Avec input().split() qui sépare selon les espaces par défaut.

80Question

Comment changer le séparateur dans input().split() ?

Réponse

En fournissant le séparateur avec l'argument sep.

81Question

Quelle est la formule pour la moyenne de trois nombres saisis ?

Réponse

moyenne=a+b+c3\text{moyenne} = \frac{a+b+c}{3}.

82Question

Qu'est-ce qu'un itérateur en Python ?

Réponse

Un objet dont les éléments sont accessibles un par un avec next().

83Question

Que provoque l'appel à next() après le dernier élément d'un itérateur ?

Réponse

Une erreur StopIteration.

84Question

Que fait zip() avec deux itérables ?

Réponse

Il associe leurs éléments par position.

85Question

Que fait dict() avec les paires obtenues par zip() ?

Réponse

Il transforme ces paires en dictionnaire.

86Question

Que se passe-t-il avec les éléments sans paire dans zip() ?

Réponse

Ils sont ignorés.

87Question

Qu'est-ce qu'une deque ?

Réponse

Une file à double extrémité permettant d'ajouter et retirer à gauche et à droite.

88Question

Que fait ChainMap en Python ?

Réponse

Il regroupe plusieurs dictionnaires en une unité unique.

89Question

Quel rôle joue la bibliothèque tqdm dans une boucle ?

Réponse

Elle affiche une barre de progression autour de la boucle.

Teste-toi avec le QCM

Teste tes connaissances avec un QCM de 58 questions sur Python Tips et Astuces.

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 ?

Faire le QCM →

Consultez la fiche

Révisez le cours complet dans la fiche de révision de Python Tips et Astuces.

Voir la fiche →

Cours similaires

Crée tes propres flashcards

Importe ton cours et l'IA génère des flashcards en 30 secondes.

Générateur de flashcards