一、模块
1. 在python中,一个.py文件称为一个模块(module)。
1.1. 相同名字的函数名和变量名可以存在于不同的模块中。
2. 为避免模块名冲突,引入包的概念。
2.1. 相同模块名可以存在于不同包中。
2.2 每个包中都必须存在__init__.py
2.2.1 __init__.py可以是空文件。
2.2.2 __init__.py本身就是一个模块,模块名就是包名。
3. 命名模块时最好检查待命名的模块在系统中是否已经存在,检查方法: 在python交互式环境中执行"import 待命名模块", 如果执行成功则说明系统已存在此模块。
二、使用模块
1. sys模块中的argv变量是一个list。sys模块中没有argc变量,可以通过len(argv)计算出参数个数。
2. __name__变量:
2.1 当直接运行模块文件时,python解释器会把变量__name__赋值为"__main__"。
2.2 当其他模块导入该模块时,该模块中的__name__变量会被赋值为模块名。
2.3 由此在模块文件中,可以在if __name__ == '__main__': 中添加模块的测试代码。
3. 作用域: 模块内部使用的函数名和变量名可以在名字前添加下划线'_'。表示外部模块不应该引用,但是不能强制外部模块对内部变量的使用。
三、安装第三方模块
1. 在sys模块的path变量中存储有模块的搜索路径的集合。
2. 模块搜索路径:
2.1 当前目录;
2.2 所有已安装的内置模块和第三方模块;
2.3 通过sys.path.append("绝对路劲名") # 程序运行时临时添加搜索路径;
2.4 在环境变量PYTHONPATH中添加搜索路径。