我对使用遮篷和编程非常陌生。
我试图在冠层编辑器中用Python定义一个函数。这曾经为我工作,但突然停止了,我不明白为什么。
作为一个基本的例子,在我写的编辑器中;
def funct(x):
return x
在shell中写funct(1)
时,我收到错误消息
NameError: name 'funct' is not defined
有什么想法吗? 感谢
答案 0 :(得分:1)
您需要在其结果实际存在(并且在其中可见)Python shell之前“运行”您的脚本(在编辑器中)。在这种情况下,脚本的结果是定义您的功能。在运行脚本之前,只需在编辑器中编写函数就不会在Python中创建它。
正如阿里正确地说的那样,另一种(更深层次的)方法是导入脚本(在这种情况下称为模块),但我认为运行可能更多是你想到的。
答案 1 :(得分:0)
我以前从未使用过Canopy,但一般情况下你会保存你的工作目录中某处定义函数的文件(例如myfunct.py
),然后将import
保存到shell命名空间中:
In [1]: import myfunct
In [2]: myfunct.funct(1)
Out [2]: 1