-
模块是包括Python定义和声明的文件。文件名就是模块名加上.py后缀。模块的模块名可以由全局变量__name__得到。
-
每个模块都有自己私有的符号表,被模块内所有的函数定义作为全局符号表使用。因此,模块的作者可以在模块内部使用全局变量,而无需担心它与某个用户的全局变量意外冲突
1、作为脚本来执行模块
当你使用以下方式运行Python 模块时,模块中的代码便会被执行:
python fibo.py <arguments>
2、包
包通常是使用用“圆点模块名”的结构化模块命名空间。
-
用户可以每次只导入包里的特定模块,例如:
import sound.effects.echo
这样就导入了sound.effects.echo
子模块。它必需通过完整的名称来引用。
sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)
-
from sound.effects import echo
这样就加载了echo 子模块,并且使得它在没有包前缀的情况下也可以使用,所以它
可以如下方式调用echo.echofilter(input, output, delay=0.7, atten=4)
-
还有另一种变体用于直接导入函数或变量:
from sound.effects.echo import echofilter
这样就又一次加载了echo 子模块,但这样就可以直接调用它的echofilter() 函
数:echofilter(input, output, delay=0.7, atten=4)
需要注意的是使用
from package import item
方式导入包时,这个子项(item)
既可以是包中的一个子模块(或一个子包),也可以是包中定义的其它命名,像函
数、类或变量.
import item.subitem.subsubitem
这样的语法时,这些子项必
须是包,最后的子项可以是包或模块,但不能是前面子项中定义的类、函数或变量。