1

私はipythonノートブックを使用しています。関数にコメントを付けるために、関数の定義にマークダウンを挿入したいと思います。しかし、2番目のコードセルでは、以前に書いたものとは関係がないように始まります。

例:

  • セル 1:
    def my_function(one,two): i=0
  • Markdown:
    i はインデックスに使用されます
  • セル 2:
    i+=2

最初に「IndentationError: unexpected indent」が発生し、次に「NameError: name 'i' is not defined」が発生しました

4

1 に答える 1

3

IPython ノートブックの各セルは独立している必要があり、個別に実行されます。Shift Enter を最初のセルに入力すると、実際にmy_functionは 1 行の本体だけで完全に定義されます。i=0あなたの場合。定義後に関数にコードを追加することはできません。これは (I)Python プロンプトで何かを入力する場合も同じです。入力の複数のクエリにまたがって関数を定義しません。

が定義されていない理由iは、のスコープがi関数に制限されているためですが、これはほとんどのプログラミング言語で古典的です。

したがって、IPython ノートブックをマークダウン付きのフル テキスト ファイルとは考えないでください。むしろ、各セルで実行するさまざまなこととして、それらを順番に実行してください。

于 2013-04-11T14:10:21.707 に答える