繁体   English   中英

有思想的树冠python-名称''未定义

[英]Enthought Canopy python - name ' ' not defined

一般而言,我对使用顶篷和编程非常陌生。

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

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

def funct(x):
    return x

在shell中写funct(1)时出现错误信息

NameError: name 'funct' is not defined

有任何想法吗? 谢谢

您需要“运行”脚本(在编辑器中),然后脚本的结果实际存在(在Python外壳中可见)。 在这种情况下,脚本的结果就是定义函数。 在运行脚本之前,仅在编辑器中编写函数实际上不会在Python中创建它。

正如Ali正确地说的,另一种(更深层次的)方法是导入脚本(在本例中称为模块),但是我认为运行可能更像是您想要的。

我以前从未使用过Canopy,但是通常,您将在函数在工作目录中的某个位置保存文件(例如,作为myfunct.py ),然后import其导入到外壳名称空间中:

In  [1]: import myfunct

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM