Python 中关于_name_的有关问题

Python 中关于__name__的问题
自己写的模块:

#!/usr/bin/python
#coding:utf-8
#filename:myMoudle.py
#自己定义一个模块,包含两个函数。

def printHello():
    print 'Hello'
    print len('abc')
    
def sayHi():
    print 'say hi to everyone!'

printHello()
sayHi()

调用自己写的模块:

#!/usr/bin/python
#coding:utf-8
#filename:my__name__.py
#导入上一个自定义的模块myMoudle.py

import myMoudle as mM

print "whatever something"
def doSomething():
    mM.printHello()

if __name__ == "__main__":
    doSomething()


执行的结果:

>>> 
Hello
3
say hi to everyone!
whatever something
Hello
3
>>> 


问题:
感觉不符合我对__name__的理解:if __name__ == "__main__"为真的话只是导入了一个模块,不应该全部执行模块的内容啊?请大神指教!
------解决思路----------------------
import myMoudle as mM的时候
已经执行myMoudle.py中
printHello()
sayHi()
这两句了
if __name__ == "__main__":
是可以防范本模块被import的时候不执行if里的内容,
所以你应该在myMoudle中也加上
if __name__ == "__main__":
    printHello()
    sayHi()

相关内容推荐