- Une définition est un nom global créé par une cellule, comme 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 pour 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 la dernière version de son code ou de ses entrées. Une fois 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 est exécutée alors que le notebook est en 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 différé (lazy) 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 sont modifiées. 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 obsolètes dont les sorties doivent être mises à jour. Pour savoir comment procéder, voir Désactiver ou activer une cellule.Supprimer des cellules
Lorsque vous supprimez une cellule, le notebook supprime également les variables globales qu’elle a définies. 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 de vérité unique pour les cellules en aval. Cette restriction s’applique aux variables, aux fonctions, aux classes et aux noms des paquets importés. Pour les variables temporaires, préfixez le nom de la variable par un seul trait de soulignement afin de la rendre locale à la cellule. Vous pouvez également définir les variables temporaires à l’intérieur d’une fonction.Éviter les mutations entre cellules
Évitez de modifier des objets utilisés par plusieurs cellules. Notebooks ne suit pas les mutations d’objets : la modification d’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 font référence à ce DataFrame ne sont pas réexécutées automatiquement. Pour que l’état du notebook reste cohérent, créez un nouvel objet et attribuez-le à une nouvelle variable. Si vous devez modifier un objet, faites-le dans la cellule qui le définit. Pour en savoir plus, consultez 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, ainsi que les endroits où elles sont déclarées et référencées.
Afficher les relations entre les 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 des dépendances
Utilisez la vue graphique pour visualiser les dépendances entre les cellules sous la forme d’un graphe orienté acyclique (DAG) :- Dans la barre latérale, sélectionnez Explore dependencies ().
- Sélectionnez GRAPH.