1.概念解释:
模块:为了使代码更容易维护,提高代码重用价值;可以将一组相关功能的代码写入一个单独的.py文件中。供别人导入使用。这个.py文件就被称作是一个模块。
test.py
import t_moudle t_moudle.Tool.t1() t_moudle.Tool.t2() import a_moudle a_moudle.Animal.xxx()
t_moudle.py
class Tool: @staticmethod def t1(): print(1) print(2) print(3) @staticmethod def t2(): print("a") print("b") print("c") class Tool1: pass class Tool2: pass
a_moudle.py
class Animal: @staticmethod def xxx(): print("xxxxx") pass class Doge: pass class Cat: pass
包:包是一个有层次的文件目录结构,他定义了由n个模块或者n个子包
包的具体表现形式:包含__init__.py文件的目录,这个目录下,一定得有__init__.py文件和其他模块或子包。
包的详细图示
库:参照其他编程语言的一个喊法。完成一定功能的代码合集。具体表现可以是一个模块,也可以是一个包。
框架:一个架构层面的概念;从库的角度来看,解决一个开放性问题而设计的具有一定约束性的支撑结构。通过一个框架,可以快速的实现一个问题解决的骨架,到时候按照框架角色去填充、交互,就可以完成一个质量好,维护性高的项目。
例如web框架:Flask、Django
2.包和模块的作用:编写好一些“轮子”、“工具”代码,供其他模块调用。有效的对程序进行分解。方便代码的管理和维护。可以防止同一块内的命名重复问题。
3.包和模块的分类
标准包/模块:安装python后,自动帮我们安装好的一些模块。可以直接导入使用。每个安装python的用户电脑上都有这些模块,在电脑上写的使用某个系统模块的代码。带其他人电脑上,同样能够运行。满足我们基本的功能需求。
特殊:内建包/模块:当我们在编码的过程中,python自动帮我们导入的模块。我们在使用这些功能的时候,不需要手动再导入该模块,直接使用就可以。
python2.x版本查看
import __builtin__
#直接查看内建包
print dir(__builtin__)
python3.x版本查看
import builtins
#直接查看内建包
print dir(builtins)
三方包/模块:有些功能系统没有实现,或者实现了,但我们使用起来比较复杂。就有开发人员,开发了一些使用更加方便的模块,供其他开发人员使用(有可能也使用到了系统的某些模块,也有可能没有)。其他开发人员,需要下载安装才可以使用。如果你的代码使用了某个第三方的模块,到时候把代码拷贝给别人,别人也要先安装同样的第三方模块后,才能运行。
自定义包/模块:我自己写的一些好用的模块。称之为自定义包/模块(发布出去后,就成了第三方包/模块。)