一、什么是模块?
模块本质是一个py文件,我们可以通过关键字import将py文件对象导入到当前名称空间。
二、导入模块
1、import module
2、from module import object
import导入动作一共包含两个部分:①把import后面跟的对象导入到当前名称空间;②导入的同时会把对象的代码执行一次。这也是为什么我们的模块测试代码写在if __name__ == "__main__" 语句后面的原因:如果py文件作为主文件在运行时,文件的__name__ == "__main__";文件是作为模块导入到其他py文件的名称空间的时候,模块的__name__是模块名。
示例1:导入就是把import后面的对象引入当前名称空间
示例2:模块作为文件运行时__name__
示例3:文件被导入时的__name__是文件名
三、包
当我们写出了可重用的模块变得越来越多时,我们自然而然就会想把具有相同用途的模块分门别类。就像我们硬盘中会把学习资料、电影、音乐分别用不同命名的文件夹分开储存一样。包就是起到这么一种作用的”特殊“目录:把具有相同用途的模块储存在一起的目录。
包与我们普通目录不同的一点就是,包的下面必定有一个__init__.py文件,即使这个文件什么内容也没有,它是代表了这个包本身。
示例:
四、导入包中的模块
导入包中的模块我们一般用from...import语句。
示例:
注意:如果是用import语句导入包中的模块,虽然会把模块中的代码执行,但实际导入到当前名称空间的只是包对象。所以导入包中的模块一般用from...import语句。
示例: