请稍等 ...
×

采纳答案成功!

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

模块导入问题

p2中

a=3

print(a)

第一种情况

p1 中

import p2

执行p1 输出3,是理解为导入一个模块就执行整个模块。

第二种

p1中

from p2 import a

执行p1,也会输出3,那这个不是导入了一个模块中的一个变量吗?也执行整个模块?

这两种没有区别吗?

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

2回答

7七月 2017-12-01 20:31:41

导入模块任何东西,都执行整个模块

2 回复 有任何疑惑可以回复我~
  • 老师,那么如果针对需要导入某一个模块下的变量值,但是在该模块下又有print函数,又不希望该模块下的print函数被执行打印的需求,怎么解决呢?
    
    还是说在最佳实践里,有需要数值被导入的模块下,因为导入时会执行整个模块,就不能有类似像print这样的函数呢?
    回复 有任何疑惑可以回复我~ 2017-12-14 12:51:04
  • 7七月 回复 慕UI8472882 #2
    print放到一个函数里,使用的时候调用函数,不使用就不会打印。
    回复 有任何疑惑可以回复我~ 2017-12-16 09:43:01
  • Lemonster 回复 7七月 #3
    老师  那如果说
    a.py
    import b
    
    b.py
    import c
    a=1
    p( )
    
    c.py
    def p( ):
       print('hello world')
    
    执行a.py 是不是也打印 hello world
    
    回复 有任何疑惑可以回复我~ 2018-07-15 12:38:31
慕九州2292922 2017-12-01 18:19:52

我的理解是:第一种情况是执行整个模块;第二种是执行模块中的一个“类”,可以将模块中的函数调用;这是我个人的理解,多多交流一起学习~~

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信