-1

python/spyder の初心者。思い通りにスクリプトを実行できません。次のスクリプトを使用したクイック例:

# Demo file for Spyder Tutorial
# Hans Fangohr, University of Southampton, UK

def hello():
    """Print "Hello World" and return None"""
    print("Hello World")

# main program starts here
hello()

これを hello.py として保存しました。コマンド ラインに hello() と入力すると、次のエラーが表示されます。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'hello' is not defined

ただし、エディターでこのスクリプトを開いた状態で実行ボタンを押すと、問題なく実行され、Hello World が出力されます。次に、コマンド ラインにhello() と入力すると、正常に実行されます。

誰かが私にこれがなぜなのか説明してもらえますか?

私の一般的な目標は、デフォルトの cwd から実行できる startup.py スクリプトを保存することです。これにより、すべてのコードを保存したい場所に cwd が変更されます。

4

1 に答える 1

2

hellodef helloステートメントを実行するまで定義されません。スクリプトをまだ実行していないため、その行は実行されていません。スクリプトを実行すると、helloが定義されます。

于 2016-08-10T20:54:49.973 に答える