Enthought Canopy python - name' '没有定义的

时间:2015-01-25 14:21:03

标签: python function enthought canopy

我对使用遮篷和编程非常陌生。

我试图在冠层编辑器中用Python定义一个函数。这曾经为我工作,但突然停止了,我不明白为什么。

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

def funct(x):
    return x

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

NameError: name 'funct' is not defined

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:1)

您需要在其结果实际存在(并且在其中可见)Python shell之前“运行”您的脚本(在编辑器中)。在这种情况下,脚本的结果是定义您的功能。在运行脚本之前,只需在编辑器中编写函数就不会在Python中创建它。

正如阿里正确地说的那样,另一种(更深层次的)方法是导入脚本(在这种情况下称为模块),但我认为运行可能更多是你想到的。

答案 1 :(得分:0)

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

In  [1]: import myfunct

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