请稍等 ...
×

采纳答案成功!

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

同样不太明白包和模块不会被重复导入的问题

问答区的两个类似的问题都没看明白。拿课程中的例子来说,是不是如果 c12 和 c13 同时引入t包里的c8,c8只会导入一次?
那为什么后面又紧接着说如果可以重复导入,t包里的__init__里的import会执行很多遍?t包里的__init__和被导入到c12和c13的t.c8有什么关系呢?是因为c12和c13引入了c8同时必然运行__init__?

正在回答

2回答

导入包都只会执行一次,以后再需要使用包里的变量时,python会从缓存中加载。第二个问题,我说过t包里的__init__会执行很多次吗?麻烦告诉下我具体的时间,我看看视频

0 回复 有任何疑惑可以回复我~
  • 提问者 米苏setsuna #1
    大约从1:06秒到1:11秒,应该是举例说明但是思维有点跳没听明白。“以后再需要使用包里的变量时,python会从缓存中加载”这里就明白啦。因为上一节课的操作就是导入很多次,然后这节课又说只执行一次导入,这当中的区别,或者再需要使用时程序运行是怎样的机制来实现,有个总结性的说法可能更方便纠结如我的人理解。
    回复 有任何疑惑可以回复我~ 2019-05-09 00:20:42
  • Antai_Zhu 回复 提问者 米苏setsuna #2
    这个以后再使用时是什么意思呢?可以举个例子吗?
    回复 有任何疑惑可以回复我~ 2019-11-16 16:36:09
chevy_CXW 2019-05-28 22:06:50

我认为呢,不同的模块导入t包里面的c8模块是需要导入多次的,就是这节课里面老师你不该举例时候说c12/c13导入不能重复导入,你应该说在c12导入过一次之后,再执行c12模块的时候,代码的运行时不会重复导入c8模块的内容。你把c12/c13放一起说,我就以为我c12导入过一次,c13就不用导入了。我一开始也没明白,来翻别人的提问,感觉我现在的理解对了,就是如上说的。老师这边你觉得呢?

4 回复 有任何疑惑可以回复我~
  • 7七月 #1
    嗯嗯,确实有道理。可能我们要区分下加载和导入,因为你要使用变量,不import是不行的。
    回复 有任何疑惑可以回复我~ 2019-05-29 15:35:43
  • 我也是没明白,看了你说的才明白,还想为什么不能重复导入,分清加载和导入,这两个很重要。
    回复 有任何疑惑可以回复我~ 2019-11-16 16:18:36
  • 再执行c12模块的时候,代码的运行是不会重复导入c8模块的内容。这个是什么意思?可以举个例子吗?多谢
    回复 有任何疑惑可以回复我~ 2019-11-16 16:36:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信