Perfectionnez-vous en Python Flashcards

1
Q

A quoi sert la ligne de code suivante:

  • # ! /usr/bin/env python3
A

#! /usr/bin/env python3 : ce commentaire conditionnel indique que ce script doit être exécuté à l’aide de Python 3. Cela permet au système d’exploitation de connaître le chemin d’accès vers l’interpréteur Python. Sans cette ligne, vous pouvez rencontrer des problèmes lors de l’exécution du script.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

A quoi sert la ligne de code suivante:

  • # coding: utf-8
A

# coding: utf-8 : cette ligne spécifie l’encodage du code source de notre script. Afin de prendre en compte les accents de notre chère langue fraaaançaise, nous utilisons le très commun utf-8. C’est souvent inutile si vous utilisez Python 3, car cette version utilise par défaut UTF 8, mais nécessaire avec Python 2.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A quoi servent les lignes de code suivante:

  • if __name__ == “__main__”:

main()

A

Ces lignes à que le script main ne soit executé qu’en ligne de commande et non par exemple dans un autre script en important ce dernier.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment créer un environnement virtuel avec la version de python3 qui nous intéresse ?

A

installer virtualenv avec la commande: pip install virtualenv puis:

virtualenv -p versionPython nomEnv

virtualenv -p python3 env

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’est ce qu’un module ?

A

Un module est un fichier contenant des instructions écrites en Python. Le nom du fichier est le nom du module. Par exemple, le fichier csv_analysis.py devient le module csv_analysis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qu’est-ce qu’une librairie ?

A

Une librairie, également appelée paquet (package en anglais), est un ensemble de modules. Cette organisation vous permet de les importer en utilisant une autre syntaxe en “point nomdumodule”. Par exemple, un module qui s’appelle A.B désigne un sous-module appelé B dans un paquet s’appelant A.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est ce qu’un paquet (librairie) doit contenir comme fichier par défaut ?

A

Un paquet contient impérativement un fichier __init__.py par module. Un dossier sans ce fichier ne sera pas reconnu comme étant un module du paquet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Comment est organisée une librairie minimale ?

A
  • nom_librairie
    • setup.py
    • nom_sous_module
      • sous.module.py
      • __init__.py
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quelle librairie utiliser pour utiliser des arguments enligne de commande ?

A

Utilisez pour cela la librairie standard Argparse. Elle contient de nombreuses méthodes très utiles pour récupérer des arguments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Comment utiliser la librairie Argparse ?

A

Importez la librairie : import argparse.

Nous allons l’utiliser en trois temps :

  • Création d’un objet ArgumentParser()
  • Lecture des arguments
  • Renvoi des arguments
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Comment exécuter la commande qui permet de placer un argument grâce à la librairie Argparse ?

A

python3 nom_module –nomExtension argument

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quelle librairie permet de deboguer un programme en Python ?

A

Le module s’appelle PDB pour Python Debugger.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quelle méthode de PDB permet de géler le code à un endroit précis ?

A

set_trace() vous permet d’entrer dans le debugger pendant que votre programme tourne.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Comment intéragit PDB avec l’invite de commande ?

A

Le programme s’arrete au breakpoint ( là où l’on a mis la ligne pdb.set_trace( )) et dans la ligne de commande correspondante apparait (Pdb). Grace à cette ligne nous pouvons afficher les variables qui nous intéressent à cet instant T du code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Comment sortir de Pdb dans l’invit de commande ?

A

Taper exit() dans l’invite de commande

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Comment avoir différents types d’affichages selon l’importance du message ?

A

Avec la librairie logging qui permet de donner de l’importance aux prints.

17
Q

Quels sont les 5 niveaux de log différents ?

A
  • DEBUG : Informations détaillées dans le but d’en savoir plus sur l’exécution d’une instruction.
  • INFO : Information sur le déroulement d’un programme.
  • WARNING : Quelque chose d’inattendu s’est produit mais le programme continue de fonctionner.
  • ERROR : A cause d’un problème important, le programme n’a pu réaliser une tâche.
  • CRITICAL : Problème très sérieux qui a pu causer l’arrêt du programme.
18
Q

Quelle est la configuration par défaut de logging ?

A

Par défaut, logging affiche dans la console les messages dont le niveau est supérieur à WARNING. Les logs dont le niveau est DEBUG ou INFO ne seront pas affichés.

Pour les afficher tout de même, indiquez en haut de votre script le niveau minimal attendu :

lg.basicConfig(level=lg.DEBUG)

19
Q

__name__ est une variable spéciale définie avant la lecture d’un script en Python.

  • Vrai
  • Faux
A

Vrai

20
Q
A
21
Q

L’interpréteur de Python invoque des méthodes spéciales pour réaliser des opérations basiques sur des objets.

  • Vrai
  • Faux
A

Vrai.

22
Q

La méthode spéciale correspondant à la fonction len() est la suivante :

  • __item__
  • __iter__
  • __len__
A

__len__

23
Q

La méthode spéciale __repr__ est appelée par la fonction str()

  • Vrai
  • Faux
A

Faux

24
Q

Un décorateur permet…

  • d’imprimer des informations détaillées sur une fonction. Il ne sert qu’à cela et ne peut pas être modifié.
  • de modifier le comportement d’une fonction.
A

de modifier le comportement d’une fonction

25
Q

Trouvez le code qui imprimera “Moi président de la République, j’engagerai de grands débats”.

A
26
Q

La librairie standard de Python intègre de nombreux décorateurs

  • Vrai
  • Faux
A

Vrai

27
Q

Trouvez l’expression régulière qui trouve aiguille , et uniquement aiguille , dans la chaîne de caractères suivante :

A
28
Q

Une expression régulière est :

  • une chaîne de caractères très précise qui représente un mot à trouver dans une phrase. Par exemple, “maison” pour trouver le mot “maison” dans “c’est une maison bleue”.
  • une chaîne de caractères, souvent appelée motif, qui décrit selon une syntaxe particulière un ensemble de chaînes de caractères possibles. Par exemple, “^m[ai]{2}son$” pour trouver le mot “maison” dans “c’est une maison bleue”.
A

une chaîne de caractères, souvent appelée motif, qui décrit selon une syntaxe particulière un ensemble de chaînes de caractères possibles. Par exemple, “^m[ai]{2}son$” pour trouver le mot “maison” dans “c’est une maison bleue”.

29
Q

Le symbole . représente, dans une expression régulière, tout caractère (lettre, chiffre ou symbole).

  • Vrai
  • Faux
A