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(),它运行得很好。
谁能给我解释一下这是为什么?我的一般目标是保存一个startup.py脚本,我可以从默认的cwd中运行,它将我的cwd更改为我想要保存所有代码的地方。
hello
在执行def hello
语句之前是没有定义的。您还没有运行脚本,所以这一行还没有执行。运行完脚本后,hello
已经定义完成。