模块
在python中,模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。
from fib import fibonacci
通过这种方式引入函数时,调用函数只能给出函数名,不能给出模块名。如果碰到当前两个模块中都含有相同名称函数时,那么后面一次得到引入会覆盖前一次的引入。
在python中,每个python文件都可作为一个模块,模块的名称就是文件的名称。
模块的制作
测试代码应该在单独执行该模块时运行,而不应该在被其他文件引用时执行。
为了解决这个问题,python提供了一个__name__属性,每个模块都有一个__name__属性,当其值为__main__时,表明该模块自身在运行,否则是被引用。因此,如果我们想在模块被引入时模块中的某一程序不执行,可以通过判断__name__的属性值来实现。
模块的发布
python中的包
为了组织好模块,通常会将多个模块放在一个包中。包即为Python模块文件所在的目录,且该目录下必须存在__init__.py文件(文件内容可以为空)。
在一个包中会用到另外一个包中的模块,默认情况下无法找到。除非在包中的__init__.py文件中添加如下代码。然后再在包中所有模块都添加"import__init__"这句代码。
import sys
sys.path.append("../")