我有一个名为mymodule.py
的模块文件,其中包含以下代码:
class foo:
def __init__(self):
self.foo = 1
class bar:
import foo
def __init__(self):
self.bar = foo().foo
同一目录中的__init__.py
文件具有
from mymodule import foo
从同一目录中的脚本,我有以下代码:
from mymodule import bar
当我尝试运行bar()
时,我收到错误No module named foo
。如果在同一模块文件中定义foo
bar
,我怎么能在{{1}}创建一个实例?
答案 0 :(得分:5)
首先使用模块名称导入类。但是,您不需要在mymodule中导入mymodule中的类,只需使用它即可。 含义:删除导入foo行
答案 1 :(得分:5)
您无需导入在同一模块中定义的对象:
class foo:
def __init__(self):
self.foo = 1
class bar:
def __init__(self):
self.bar = foo().foo
import
语句仅适用于其他文件中定义的对象;将另一个python文件中定义的名称导入当前模块。