Utilisation des gestionnaires de contexte

Écrire des fonctions en Python

Shayne Miel

Software Architect @ Duo Security

Qu'est-ce qu'un gestionnaire de contexte ?

Un gestionnaire de contexte :

  • Définit un contexte
  • Exécute votre code
  • Supprime le contexte
Écrire des fonctions en Python

Un environnement organisé

empty room

Écrire des fonctions en Python

Un environnement organisé

room catered

Écrire des fonctions en Python

Un environnement organisé

room party

Écrire des fonctions en Python

Un environnement organisé

room catered

Écrire des fonctions en Python

Un environnement organisé

empty room

Écrire des fonctions en Python

Réception avec service de restauration comme contexte

Gestionnaires de contexte :

  • Définir un contexte
  • Exécuter votre code
  • Supprimer le contexte

Traiteurs :

  • Configurer les tables avec la nourriture et les boissons
  • Organiser une réunion avec vos amis
  • Tables nettoyées et rangées
Écrire des fonctions en Python

Un exemple concret

with open('my_file.txt') as my_file:
  text = my_file.read()
  length = len(text)

print('The file is {} characters long'.format(length))

open() effectue trois actions :

  • Configure un contexte en ouvrant un fichier
  • Permet d'exécuter n'importe quel code sur ce fichier
  • Supprime le contexte en fermant le fichier
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with <context-manager>()
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with <context-manager>(<args>)
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with <context-manager>(<args>):
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with <context-manager>(<args>):
  # Run your code here
  # This code is running "inside the context"
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with <context-manager>(<args>):
  # Run your code here
  # This code is running "inside the context"

# This code runs after the context is removed
Écrire des fonctions en Python

Utilisation d'un gestionnaire de contexte

with <context-manager>(<args>) as <variable-name>:
  # Run your code here
  # This code is running "inside the context"

# This code runs after the context is removed
with open('my_file.txt') as my_file:
  text = my_file.read()
  length = len(text)

print('The file is {} characters long'.format(length))
Écrire des fonctions en Python

Passons à la pratique !

Écrire des fonctions en Python

Preparing Video For Download...