Enthought Canopy python - 名称“”未定义

Enthought Canopy python - name ' ' not defined

我对使用 canopy 和一般编程还很陌生。

我正在尝试在 canopy 编辑器中的 Python 中定义一个函数。这曾经对我有用,但突然停止了,我不知道为什么。

作为一个基本的例子,在我写的编辑器中;

def funct(x):
    return x

当在 shell 中写入 funct(1) 时,我收到错误消息

NameError: name 'funct' is not defined

有什么想法吗? 谢谢

我以前从未使用过 Canopy,但一般来说,您会将定义函数的文件保存在工作目录中的某处(例如 myfunct.py),然后 import 将其保存到shell 命名空间:

In  [1]: import myfunct

In  [2]: myfunct.funct(1)
Out [2]: 1

您需要 "run" 您的脚本(在编辑器中)才能使其结果实际存在(并且可见)Python shell。在这种情况下,脚本的结果将定义您的函数。只是在编辑器中编写函数并不会在 Python 中实际创建它,直到您 运行 脚本。

正如 Ali 所说的那样,另一种(更深入的)方法是导入脚本(在本例中称为模块),但我认为 运行ning 可能更符合您的想法。