Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Python Perfectionnement, AsyncIO

Total questions: 15

Worksheet time: 12mins

Name
Class
Date
1.

Qu'est-ce que asyncio dans le contexte de Python ?

a)

Une bibliothèque de threading

b)

Un framework pour l'exécution asynchrone de code

c)

Une bibliothèque pour le traitement d'images

d)

Un outil de gestion de base de données

2.

Comment déclarer une coroutine avec asyncio?

a)

def fonction()

b)

async def fonction()

c)

await def fonction()

d)

function async():

3.

Quel mot-clé est utilisé pour attendre qu'une coroutine se termine ?

a)

wait

b)

pause

c)

await

d)

yield

4.

Lequel de ces choix n'est pas une fonctionnalité de asyncio ?

a)

Gérer des centaines de connexions réseau simultanées

b)

Planifier l'exécution de coroutines de manière concurrente

c)

Manipuler des opérations sur les fichiers de manière asynchrone

d)

Réaliser des opérations de calcul intensif en parallèle

5.

Quel est le rôle de asyncio.run() dans l'exécution d'une coroutine ?

a)

Il crée une nouvelle boucle d'événements et exécute la coroutine jusqu'à son achèvement.

b)

Il exécute une coroutine déjà planifiée dans une boucle d'événements existante.

c)

Il est principalement utilisé pour débugger des coroutines.

d)

Il sert à initialiser les coroutines mais ne les exécute pas.

6.

Quel est l'impact de l'utilisation de await devant une coroutine qui n'est pas définie avec async def dans asyncio?

a)

Une erreur de syntaxe est générée.

b)

Une erreur de type RuntimeError est levée.

c)

Une erreur de type TypeError est levée.

d)

Le code s'exécute sans erreur mais rien ne se passe.

7.

Analysez le code suivant et indiquez quel comportement attendre:

a)

Affiche "Fetching data..." puis "Data" après 2 secondes.

b)

Affiche "Fetching data..." puis un objet coroutine.

c)

Lève une exception TypeError.

d)

Lève une exception RuntimeWarning: coroutine 'fetch_data' was never awaited

8.

Analysez le code suivant et indiquez quel comportement attendre:

a)

Affiche "Fetching data..." puis "Data" après 2 secondes.

b)

Affiche "Fetching data..." puis un objet coroutine.

c)

Lève une exception TypeError.

d)

Lève une exception RuntimeError.

9.

Quelle phrase est vraie concernant le gestionnaire de contexte async with en Python?

a)

Il est utilisé pour libérer des ressources système après l'exécution d'un bloc de code.

b)

Il est strictement équivalent à with

c)

Il peut seulement être utilisé avec des objets fichier.

d)

Il requiert que l'objet avec lequel il est utilisé implémente les méthodes aenter et aexit.

10.

Complétez le code suivant pour qu'il imprime "Hello, world!" après un délai de 2 secondes.

(a)  

11.

Quelle fonction asyncio utiliseriez-vous pour exécuter trois coroutines simultanément et attendre que toutes aient terminé ?

a)

asyncio.wait()

c)

asyncio.gather()

d)

asyncio.as_completed()

12.

Quelle sera la séquence exacte des sorties de ce programme ?

a)

"Tâche 5 complétée après 5 secondes"

"Tâche 4 complétée après 4 secondes"

...

Tâche 1 complétée après 1 seconde".

b)

L'ordre exact des sorties ne peut pas être prédit car il dépend de la façon dont les tâches se terminent.

c)

Tâche 1 complétée après 1 seconde"

...

"Tâche 4 complétée après 4 secondes"

"Tâche 5 complétée après 5 secondes"

13.

Quelle sera la séquence exacte des sorties de ce programme ?

a)

"Tâche 1 complétée après 1 seconde"

"Tâche 2 complétée après 2 secondes"

....

"Tâche 5 complétée après 5 secondes"

b)

"Tâche 5 complétée après 5 secondes"

"Tâche 4 complétée après 4 secondes"

...

"Tâche 1 complétée après 1 seconde"

c)

L'ordre exact des sorties ne peut pas être prédit car il dépend de la façon dont les tâches se terminent.

d)

Les résultats sont imprimés dans un ordre aléatoire, indépendant du délai de chaque tâche.

14.

Quel est le résultat de l'exécution de ce script ?

a)

Les tâches seront exécutées séquentiellement, d'abord tache1 puis tache2, et le script prendra 5 secondes pour s'exécuter.

b)

Les tâches seront lancées simultanément et le script prendra environ 3 secondes pour s'exécuter.

c)

Seule tache1 sera exécutée car tache2 sera annulée automatiquement par asyncio lorsqu’elle n'est pas attendue immédiatement.

d)

Une erreur sera levée car les tâches ne peuvent pas être créées sans être directement attachées à un événement de l'event loop

15.

Quelle est la conséquence potentielle de ne pas isoler les fonctions bloquantes des tâches asynchrones dans un programme utilisant asyncio ?

a)

Une augmentation significative de la vitesse d'exécution des fonctions bloquantes.

b)

Des erreurs de synchronisation entre les threads et la boucle d'événements.

c)

Un blocage de la boucle d'événements, ce qui peut causer un ralentissement ou un arrêt complet de toutes les tâches asynchrones.

d)

Une optimisation automatique de la boucle d'événements.