python模块

来源:互联网 发布:如何找到域名的ip地址 编辑:程序博客网 时间:2024/06/05 23:51

模块是一种组织形式,把许多有关联的代码组织放到单独的独立文件夹中。可以理解为模块是一个包含了许多强大功能(方法)的包。

模块的作用及好处:

1.模块中有许多函数方法,利用这些方法可以更加简单的完成许多工作,大大提高了代码的可维护性和开发效率。

2.模块可以在文件中永久保存代码,在python文件交互解释器中操作输入的代码,在退出python时是不会被保存的,而模块文件中的代码永久保存。

3.从实用性方面来讲,模块可以跨系统平台使用,编写代码不必从零开始,当一个模块编写完毕,可以被其他地方引用,包括python的内置模块和来自第三方的模块,例如:一个全局对象,被许多文件使用,这时候把它写入一个模块,在被调用,很方便。

4.使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别放到不同的模块中,所以在编写模块时,不必考虑名字会与其他模块冲突,但是尽量不要与内置函数的名字冲突。

为了避免模块名冲突,python引入了按目录来组织模块的方法,称之为包(Package)。

例如:一个abc.py 文件就是一个名字叫abc的模块,一个xyz.py文件就是一个名字叫做xyz的模块。假设这两个模块名字和其他模块冲突了,则可以通过包来组织模块,避免冲突,选择一个顶层包名,比如test,按照目录存放:



引入了包之后,只要顶层的包名不与别的冲突,那么所有的模块就不会冲突,abc.py模块的名字就变成了test.abc.

注意:每一个包目录下都会有一个_init_.py的文件,这个文件是必须存在的,否则,python就把这个目录当成了普通的目录,而不是一个包,_init_.py文件可以是空文件,也可以有python代码,因为_init_.py本身就是一个模块,他的模块名称是test。

另外,一个包了可以有多级目录,组成多级层次的包结构:




www.py模块名就是test.web.www,两个文件abc.py的模块名分别是test.abc和test.web.abc。

自己创建模块的时候要注意命名,不能和python自带的模块名称冲突,例如:系统自带了sys模块,自己的模块就不可以命名为sys.py,否则将无法导入系统自带的sys.py模块。




原创粉丝点击