繁体   English   中英

导入文件后的Python名称错误

[英]Python name error after importing file

我在Mac上玩Python,它是默认安装版本2.7.2。 出于某种原因,当我在当前目录中导入文件时,它成功导入,但是当我尝试调用文件中的函数时,它给了我: NameError: name 'gcd' is not defined

这就是文件中的内容( lab1.py ):

def gcd(x, y):
    if x % y == 0:
        return y
    else:
        return gcd(y, x % y)

def f(x):
    return x*x

在提示符下,我只需输入import lab1 它成功导入。 值得注意的是,如果我不在lab1.py的目录中,则会出错,所以我知道它正在获取正确的文件。 我错过了什么?

您需要通过导入的全局名称引用模块中的名称。

如果导入lab1 ,则将该模块中的名称作为模块对象的属性引用:

lab1.gcd(10, 3)

或者您需要模块导入名称:

from lab1 import gcd

在当前模块中创建相同功能的引用。 另一种拼写方式是:

import lab1.gcd as gcd

暂无
暂无

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

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