- Une définition est un nom global créé par une cellule, par exemple une variable, une fonction, une classe ou un nom importé.
- Une référence est un nom global qu’une cellule lit depuis une autre cellule.
Cellules obsolètes et bloquées
Les notebooks suivent l’état de chaque cellule afin de déterminer si elle doit être exécutée. Les principaux états d’une cellule sont obsolète et bloquée.Cellules obsolètes
Une cellule est obsolète si elle n’a jamais été exécutée ou si elle n’a pas été exécutée avec son code ou ses entrées les plus récents. Une fois la cellule exécutée avec son code et ses entrées actuels, elle n’est plus obsolète. Une cellule devient obsolète dans les situations suivantes :- Vous modifiez le code de la cellule.
- Une cellule en amont s’exécute alors que le notebook utilise le mode lazy. Dans ce mode, le notebook marque les cellules en aval comme obsolètes au lieu de les exécuter automatiquement.
- Un module Python utilisé par la cellule est modifié alors que le rechargement automatique paresseux des modules est activé.
Cellules bloquées
Une cellule est bloquée si elle-même ou l’une de ses cellules en amont est désactivée. Les cellules bloquées ne s’exécutent pas automatiquement, même lorsque leurs entrées changent. Pour débloquer une cellule, réactivez la cellule désactivée dont elle dépend. Le notebook peut alors exécuter les cellules en aval qui sont obsolètes et dont les sorties doivent être mises à jour. Pour la procédure, voir Désactiver ou activer une cellule.Supprimer des cellules
Lorsque vous supprimez une cellule, le notebook supprime également les variables globales qu’elle définissait. Selon les paramètres du runtime, le notebook réexécute, invalide ou marque comme obsolètes les cellules qui font référence aux variables supprimées.Définir chaque nom global une seule fois
Définissez chaque nom global dans une seule cellule. Si deux cellules définissent le même nom global, le notebook ne peut pas déterminer de source unique de vérité pour les cellules en aval. Cette restriction s’applique aux variables, aux fonctions, aux classes et aux noms de packages importés. Pour les variables temporaires, faites précéder le nom de la variable d’un seul tiret bas afin de la rendre locale à la cellule. Vous pouvez également définir des variables temporaires à l’intérieur d’une fonction.Éviter les mutations entre cellules
Évitez de modifier des objets utilisés par plusieurs cellules. Les notebooks ne suivent pas les mutations d’objets : modifier un objet ne marque donc pas les cellules dépendantes comme obsolètes. Par exemple, supposons qu’une cellule ajoute une colonne à un DataFrame défini dans une autre cellule. Les cellules qui référencent ce DataFrame ne sont pas réexécutées automatiquement. Pour maintenir la cohérence de l’état du notebook, créez un nouvel objet et affectez-le à une nouvelle variable. Si vous devez modifier un objet, faites-le dans la cellule qui le définit. Pour en savoir plus, voir Variable mutations are not tracked.Inspecter les variables et les dépendances
Afficher les variables
Utilisez l’explorateur de variables pour afficher les variables définies, leurs types, l’endroit où elles sont déclarées et celui où elles sont référencées.
Visualiser les relations entre cellules dans la minimap
Utilisez le panneau Dependencies pour examiner les relations entre les cellules :- Dans la barre latérale, sélectionnez Explore dependencies ().
- Sélectionnez MINIMAP.
Afficher le graphe de dépendances
Utilisez la vue graphique pour visualiser les dépendances entre cellules sous forme de graphe orienté acyclique (DAG) :- Dans la barre latérale, sélectionnez Explore dependencies ().
- Sélectionnez GRAPH.