任何python程序可以作为模块导入,为什么要载入外部模块呢?因为有利于代码的复用嘛。 真是太机智了!!!!!
模块的导入:
>>> import math
>>> math.sin(0)
0.0
自己的模块:
模块就是程序,任何python程序可以作为模块导入。如:D:\python.py(名字很重要,以.py结尾)。
#hello.py
print "hello word!"
现在开始作为模块导入:
>>>import sys
>>>sys.path.append('D:\hello.py')
>>>import hello
'hello word!'
在导入模块的时候,会看到有新文件出现hello.pyc出现,.pyc文件是(平台无关的)经过处理(编译)的。随后导入的就是.pyc文件,当py文件改变,会生新的.pyc文件,删除.pyc文件不会影响程序,必要的时候系统会创建.pyc文件。
第二次导入:
>>>import hello
>>>
导入多次和导入一次的效果是一样的。为什么第二次导入什么都没有呢?这是有原因的:如果两个程序相互导入的话,就会形成无线循环,无限递归,但是,因为第二次导入的时候什么也没有发生,所以循环就终止啦。但是呢,如果你坚持重新载入模块,可以使用reload()实现:
>>>hello=reload(hello)
hello word!
如你所见模块已经重新导入了,是不是很高兴,不过在python3中已经没有了,尽管有exec能过实现同样的功能,但是应该避免重新再入模块。