Python 导入创建新对象的方法
当导入方法包括创建新对象时,我有点困惑。这对我来说很难解释,因为我还在学习这门语言,但这里有一个例子说明了正在发生的事情 我有一个Python 导入创建新对象的方法,python,Python,当导入方法包括创建新对象时,我有点困惑。这对我来说很难解释,因为我还在学习这门语言,但这里有一个例子说明了正在发生的事情 我有一个macrocalc.py from interface import Interface def main(): a = Interface(); print "Welcome!" print "!hat would you like to do?" a.display_options() if __name__ == "main"
macrocalc.py
from interface import Interface
def main():
a = Interface();
print "Welcome!"
print "!hat would you like to do?"
a.display_options()
if __name__ == "main":
main()
稍后,在我的代码中,我使用从marcocalc import main
导入main。然后我运行main()
方法。但我得到了一个错误:
File "macrocalc.py", line 1, in <module>
from interface import Interface
File "/Users/username/Development/foodcalc/interface.py", line 1, in <module>
from addFood import addfood
File "/Users/username/Development/foodcalc/addFood.py", line 2, in <module>
from macrocalc import main
File "/Users/username/Development/foodcalc/macrocalc.py", line 1, in <module>
from interface import Interface
ImportError: cannot import name Interface
我尝试从接口导入接口添加行,但错误仍然存在
如果需要更多的代码。我将把它添加到帖子中。请让我知道您引入了可怕的循环依赖
在宏计算.py中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在interface.py
中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在addFood.py
的第2行:
from macrocalc import main
但现在我们又回到了一个新的时代
你必须重构你的程序,这样它就不会这样做了。:) 您引入了可怕的循环依赖
在宏计算.py中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在interface.py
中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在addFood.py
的第2行:
from macrocalc import main
但现在我们又回到了一个新的时代
你必须重构你的程序,这样它就不会这样做了。:) 您引入了可怕的循环依赖
在宏计算.py中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在interface.py
中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在addFood.py
的第2行:
from macrocalc import main
但现在我们又回到了一个新的时代
你必须重构你的程序,这样它就不会这样做了。:) 您引入了可怕的循环依赖
在宏计算.py中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在interface.py
中的第1行:
# Call this A
from interface import Interface
from addFood import addfood
在addFood.py
的第2行:
from macrocalc import main
但现在我们又回到了一个新的时代
你必须重构你的程序,这样它就不会这样做了。:) 您已经创建了一个导入循环:
File "macrocalc.py", line 1, in <module>
from interface import Interface
File "/Users/username/Development/foodcalc/interface.py", line 1, in <module>
from addFood import addfood
File "/Users/username/Development/foodcalc/addFood.py", line 2, in <module>
from macrocalc import main
File "/Users/username/Development/foodcalc/macrocalc.py", line 1, in <module>
from interface import Interface
ImportError: cannot import name Interface
文件“macrocalc.py”,第1行,在
从接口导入接口
文件“/Users/username/Development/foodcalc/interface.py”,第1行,在
从addFood进口addFood
文件“/Users/username/Development/foodcalc/addFood.py”,第2行,在
从宏计算导入主
文件“/Users/username/Development/foodcalc/macrocalc.py”,第1行,在
从接口导入接口
ImportError:无法导入名称接口
看看如果没有错误,代码完全按照您编写的方式运行,会发生什么:
食物的接口
添加食品进口宏钙
宏计算导入接口
食物的接口
添加食品进口宏钙
宏计算导入接口
您需要删除某个导入语句,以防止无限次的导入循环。您已经创建了一个导入循环:
File "macrocalc.py", line 1, in <module>
from interface import Interface
File "/Users/username/Development/foodcalc/interface.py", line 1, in <module>
from addFood import addfood
File "/Users/username/Development/foodcalc/addFood.py", line 2, in <module>
from macrocalc import main
File "/Users/username/Development/foodcalc/macrocalc.py", line 1, in <module>
from interface import Interface
ImportError: cannot import name Interface
文件“macrocalc.py”,第1行,在
从接口导入接口
文件“/Users/username/Development/foodcalc/interface.py”,第1行,在
从addFood进口addFood
文件“/Users/username/Development/foodcalc/addFood.py”,第2行,在
从宏计算导入主
文件“/Users/username/Development/foodcalc/macrocalc.py”,第1行,在
从接口导入接口
ImportError:无法导入名称接口
看看如果没有错误,代码完全按照您编写的方式运行,会发生什么:
食物的接口
添加食品进口宏钙
宏计算导入接口
食物的接口
添加食品进口宏钙
宏计算导入接口
您需要删除某个导入语句,以防止无限次的导入循环。您已经创建了一个导入循环:
File "macrocalc.py", line 1, in <module>
from interface import Interface
File "/Users/username/Development/foodcalc/interface.py", line 1, in <module>
from addFood import addfood
File "/Users/username/Development/foodcalc/addFood.py", line 2, in <module>
from macrocalc import main
File "/Users/username/Development/foodcalc/macrocalc.py", line 1, in <module>
from interface import Interface
ImportError: cannot import name Interface
文件“macrocalc.py”,第1行,在
从接口导入接口
文件“/Users/username/Development/foodcalc/interface.py”,第1行,在
从addFood进口addFood
文件“/Users/username/Development/foodcalc/addFood.py”,第2行,在
从宏计算导入主
文件“/Users/username/Development/foodcalc/macrocalc.py”,第1行,在
从接口导入接口
ImportError:无法导入名称接口
看看如果没有错误,代码完全按照您编写的方式运行,会发生什么:
食物的接口
添加食品进口宏钙
宏计算导入接口
食物的接口
添加食品进口宏钙
宏计算导入接口
您需要删除某个导入语句,以防止无限次的导入循环。您已经创建了一个导入循环:
File "macrocalc.py", line 1, in <module>
from interface import Interface
File "/Users/username/Development/foodcalc/interface.py", line 1, in <module>
from addFood import addfood
File "/Users/username/Development/foodcalc/addFood.py", line 2, in <module>
from macrocalc import main
File "/Users/username/Development/foodcalc/macrocalc.py", line 1, in <module>
from interface import Interface
ImportError: cannot import name Interface
文件“macrocalc.py”,第1行,在
从接口导入接口
文件“/Users/username/Development/foodcalc/interface.py”,第1行,在
从addFood进口addFood
文件“/Users/username/Development/foodcalc/addFood.py”,第2行,在
从宏计算导入主
文件“/Users/username/Development/foodcalc/macrocalc.py”,第1行,在
从接口导入接口
ImportError:无法导入名称接口
看看如果没有错误,代码完全按照您编写的方式运行,会发生什么:
食物的接口
添加食品进口宏钙
宏计算导入接口
食物的接口
添加食品进口宏钙
宏计算导入接口
您需要删除某个导入语句,以防止无限循环的导入。文件系统怎么样?(提示,在根目录下使用“$tree”命令)文件系统如何?(提示,在根目录下使用“$tree”命令)文件系统如何?(提示,在根目录下使用“$tree”命令)文件系统如何?(提示,在根目录上使用“$tree”命令)您建议我如何解决这个问题?我的一般建议是:重构。具体来说,如果不更加熟悉您的代码,就很难进行评论。乍一看,只看到我能看到的,我可能会将interface.py
合并到