请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于这里循环导入问题

老师好,关于这里循环导入问题。

我在 app/__init__.py模块下,将web实例化了,第12行导入book。

https://img1.sycdn.imooc.com//szimg/5ae28ab20001e0a426701560.jpg

在book.py模块下,第10行,我重新导入web。按理说,应该重新跳到__init__文件下,重新实例化一次web。但这里却没有,反而一直向下运行。

按照循环导入原则,应该是跳到被导入模块下呢,为什么这里没有跳转呢?

难道__init__文件,不遵循这个原则吗?

https://img1.sycdn.imooc.com//szimg/5ae28bc10001dc3326341578.jpg

正在回答 回答被采纳积分+3

2回答

许龙 2018-05-05 19:06:05

4月2号有个帖子关于循环导入讲的挺清楚的

0 回复 有任何疑惑可以回复我~
7七月 2018-04-27 18:06:26

循环导入不是只会导入一次吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 lemonlxn #1
    嗯嗯,老师好。对这个问题,我昨天反复思考与实践后,我终于想明白了。在app/__init__.py 第12行,导入book模块的时候,作为__init__启动文件重新运行了一遍,所以没有继续导入book模块。所以在book模块第10行下,继续向下执行。
    
    不过这里web实例化了两次,虽然id是一样,注册的 url_map endpoint,以及view_func 都指向同一个web.search,但这样真的没问题吗?
    回复 有任何疑惑可以回复我~ 2018-04-28 09:55:21
  • 提问者 lemonlxn #2
    我自己早些时候,又debug了一下,发现HTTP网络请求有两次,应该是这里引起的。我接着学习,这个问题先放着,后面再思考debug一下。
    回复 有任何疑惑可以回复我~ 2018-04-28 15:56:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信