NameError:名称“转子”未定义
Posted
技术标签:
【中文标题】NameError:名称“转子”未定义【英文标题】:NameError: name 'rotor' is not defined 【发布时间】:2020-06-30 19:12:10 【问题描述】:我尝试在 Spyder 下导入和运行自制模块。 main.py 程序
import rot
f=rotor(b_x,b_y,b_z,x,y,z)
rot.py 程序
def rotor(bx,by,bz,x,y,z):
import numpy as np
...
问题是:
文件“C:\Users\Professional.spyder-py3\my_pro\jgut\main.py”,第 93 行,在 f=转子(b_x,b_y,b_z,x,y,z)
NameError: 名称“转子”未定义
即使在启动任何导入模块的暴力启动后,问题也不会消失。 有没有办法同时启动所有导入的模块?或者也许有人遇到过这个问题?
附:今天在 Anaconda 重新安装后出现了问题,因为 IK-Multimedia 应用程序不兼容(我刚刚删除了它们)。我从一开始就用蛮力开始了所有的mudules。
【问题讨论】:
我编辑了这个问题,因为这与 Spyder 无关。 【参考方案1】:1) 请不要在函数中导入模块!
2) rotor
未定义,因为它位于 rot
命名空间中。您可以通过rot.rotor(args)
拨打电话。如果你想按你的方式调用它,你必须像这样导入它:from rot import rotor
或 from rot import *
(从 rot 模块导入所有内容,这是一个不好的做法 - 你应该只导入你需要的东西)。
该错误与最后 2 段中写的任何内容无关。
【讨论】:
它有效,谢谢。但我不能完全理解出现的问题。如果我将 numpy 作为 np 导入,我可以访问所有 numpy 函数并且它运行良好。加载我的模块时出了什么问题? numpy 是不是以其他方式设计的? 如果您使用import numpy as np
,numpy 命名空间将被引用为np
,并且您调用所有带有np.
前缀的numpy 函数。如果您只写了import numpy
,则必须调用每个带有numpy.
前缀的numpy 函数。以上是关于NameError:名称“转子”未定义的主要内容,如果未能解决你的问题,请参考以下文章