- definition とは、セルが作成するグローバル名であり、変数、関数、クラス、またはインポートされた名などが該当します。
- reference とは、セルが別のセルから読み取るグローバル名です。
古いセルと実行がブロックされたセル
Notebooks は各セルの状態をトラッキングし、実行が必要かどうかを判断します。主なセルの状態は 古い と 実行がブロックされている です。古いセル
セルは、実行したことがない場合、または最新のコードや入力で実行していない場合に 古い 状態になります。セルが現在のコードと入力で実行された後は、古い状態ではなくなります。 セルは、以下のいずれかの状況で古い状態になります。- セルのコードを編集した場合。
- 上流のセルが実行され、ノートブックが lazy モードを使用している場合。このモードでは、ノートブックは下流のセルを自動的に実行する代わりに、古い状態としてマークします。
- セルが使用する Python モジュールが、lazy モジュール自動リロードが有効な状態で変更された場合。
ブロックされたセル
セル自体または上流のセルのいずれかが無効になっている場合、そのセルはブロックされた状態です。ブロックされたセルは、入力が変わっても自動的には実行されません。 ブロックを解除するには、依存先の無効になっているセルを再び有効にします。すると、ノートブックは古い状態で出力の更新が必要な下流のセルを実行できます。手順については、セルを無効または有効にするを参照してください。セルを削除する
セルを削除すると、そのセルで定義されたグローバル変数もノートブックから削除されます。削除された変数を参照するセルは、ランタイム設定に応じて、再実行、無効化、または古い状態としてマークされます。各グローバル名は一度だけ定義します
各グローバル名は、1つのセルでのみ定義してください。2つのセルで同じグローバル名を定義すると、ノートブックは下流のセルに対する唯一の信頼できるソースを特定できません。この制限は、変数、関数、クラス、インポートしたパッケージ名に適用されます。 一時変数は、変数名にアンダースコア1つを接頭辞として付けることで、そのセルのローカル変数にできます。また、関数内で一時変数を定義することもできます。セル間での変更を避ける
複数のセルで使用するオブジェクトは変更しないでください。Notebooksはオブジェクトの変更をトラッキングしないため、オブジェクトを変更しても、それに依存するセルは古い状態としてマークされません。 たとえば、あるセルで別のセルに定義されたデータフレームに列を追加したとします。そのデータフレームを参照するセルは自動的には再実行されません。ノートブックの状態の整合性を保つには、新しいオブジェクトを作成して新しい変数に割り当ててください。オブジェクトを変更する必要がある場合は、そのオブジェクトを定義したセル内で変更してください。 詳しくは、変数の変更は追跡されませんを参照してください。変数と依存関係を確認する
変数を表示する
Variables explorer を使用すると、定義済みの変数とそのタイプ、宣言されている場所、参照されている場所を確認できます。
ミニマップでセル間の関係を表示する
Dependencies パネルを使用すると、セル間の関係を確認できます。- サイドバーで Explore dependencies () を選択します。
- MINIMAP を選択します。
依存関係グラフを表示する
グラフ ビュー を使用すると、セルの依存関係を有向非巡回グラフ (DAG) として可視化できます。- サイドバーで Explore dependencies () を選択します。
- GRAPH を選択します。