我有一个名为“package”的自定义包和一个名为“module”的自定义模块,该模块在调用时有一个返回“test”的函数。当我导入我的包时,如果我这样做:
from package import module
一切都很好,但如果我做了:
^{pr2}$或者
import package
然后,当尝试使用“module”模块时,会出现一个错误名称“module”未定义。为什么在我使用import*或导入包时不导入模块?在
我尝试调用的模块中的代码是:
def printTest():
return("Test")
调用模块的文件中的代码如下:
import package
print(module.printTest())
这是一个令人惊讶的普遍问题,这个问题仍然没有一个恰当的答案,所以我们开始吧。在
假设我们有一个只包含函数的模块,比如:
文件应用程序/食品:
我真的希望这能奏效(但这并不是):
文件应用程序/棒.py:
结果是您必须显式导入每个元素或给
app.foo
一个名称:导入所有内容(通常被认为是不好的做法):
^{3美元只导入您想要的:
给
app.foo
一个(好的)名字:即使上面的例子只使用函数,它对于在模块的最顶端声明的所有东西都是一样的,比如类或变量。在
希望有帮助!在
相关问题 更多 >
编程相关推荐