9.1介绍
Python提供了一种方法可以把需要重复利用的代码定义在一个文件中,并在脚本或者交互解释器中使用它们,定义重复利用的代码的文件被称为模块。模块中定义的代码可以被导入到另一个模块或者主模块(脚本执行时可以调用的变量集位于最高级,并且处于计算器模式)中。
9.2模块
模块就是一个包含了Python定义和声明的“.py”文件。例如我们定义一个 “fibs.py”的文件,内容如下:
‘’
我们可以使用关键字“import”导入前面定义的“fibs”文件,print函数打印出“fibs”告诉我们这是一个叫做“fibs”的模块,是从“fibs.py”文件获取的,这说明我们已经成功的导入了这个模块
9.22 __name__变量
模块的模块名可以通过全局变量 “name”获得 例如:
在Python中 “name”是当前模块名,当模块被直接运行时模块名为 “main”.有了这个特性,我们在定义模块的时候可以通过看当前的“name”变量值是否为“main”来判断当前文件是被运行还是作为模块 被导入
9.2.3 dir函数
dir函数
可以列出对象的模块标识符,标识符有函数、类和变量。当你为dir函数提供一个模块名的时候,他返回模块定义的名称列表,如果不听参数,他返回当前模块中定义的名称列表。
import fibs
print(dir(fibs))
9.2.4使用模板
知道模板有哪些标识符后,我们就可以使用模板了,调用模块中的内容和调用对象中的内容方法是一样的 例如:
import fibs
fibs.fib(10)
print(fibs.fib2(5))
还有**另一种方法 “from…import…”**它可以让我们导入模块中一个指定的部分到当前命名空间中 例如:
from fibs import fib,fib2
fib(10)
print(fib2(5))
9.3包
9.3.1使用包
Python通过模块来组织代码,模块即一个py文件,是通过“包”来加以组织,而“包”则是一个包含“init.py”的文件夹。代码、模块、包三者的关系是:“包”包含模块且至少包含一个__init__.py,模块包含代码。
简单来说:包就是文件夹,且文件夹下必须有__init__.py文件,该文件的内容可以为空。