Python模块化
在Python中,一个.py文件就称之为一个模块(Module)。
模块化的好处:
1、大大提高了代码的可维护性。
2、编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块。
3、使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,但尽量不要与内置函数名字冲突。
4、为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。
下面是一个模块(文件)的格式:
#!/usr/bin/env python 可以让这个py文件直接在Unix/Linux/Mac上运行 # -*- coding: utf-8 -*- 使用标准UTF-8编码; ' a test module ' #表示模块的文档注释 __author__ = 'Michael Liao' #作者名 import sys #导入其他模块 import cStringIO as StringIO #导入其他模块,并使用as命名别名 def test(): return True ''' 当我们在命令行运行模块文件时,Python解释器把一个特殊变量__name__置为__main__, 而如果在其他地方导入该hello模块时,if判断将失败, 因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码, 最常见的就是运行测试。 ''' if __name__=='__main__': test()
作用域:注意下面的下划线都是双下划线
public:正常的函数和变量名,如:abc、name等
特殊变量:类似__xxx__
这样的变量可以被直接引用,但是有特殊用途,如:__author__
,__name__,__init__
private:类似__xxx
和__xxx
这样的函数或变量,如:__abc