You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python导入模块后调用函数提示NameError问题求助

解决Python模块导入后函数未定义的问题

这问题我碰到过好多次,其实是Python模块导入的命名空间规则在起作用~

咱们先理清楚报错原因:当你用import mym导入模块时,模块里的hello()和summ()函数都属于mym这个独立的命名空间里,你直接写hello()或者summ(),Python会在当前脚本的全局命名空间里找这些名字,自然找不到,所以抛出NameError。

给你两种简单可行的解决办法:

方法1:通过模块名前缀访问函数

修改abc.py的代码,在调用函数时加上模块名前缀mym.,明确告诉Python要从mym模块里找对应的函数:

import mym
mym.hello()
x = mym.summ(3,4)
print(x)

方法2:直接导入指定函数到当前命名空间

如果你不想每次都写模块名,可以用from ... import ...语法,把需要的函数直接导入到当前脚本的命名空间里:

from mym import hello, summ
hello()
x = summ(3,4)
print(x)

要是你想一次性导入模块里所有内容(小脚本里用没问题,大型项目不推荐,容易引发命名冲突),也可以这么写:

from mym import *
hello()
x = summ(3,4)
print(x)

修改后运行代码,应该就能正常输出Hello everyone和7啦~

内容的提问来源于stack exchange,提问作者Nisha B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:55:07