一.模块和包:
模块在python中是以.py为扩展名的文件,每一个模块在python中都有独立的文件
1.模块可以用来做什么?
模块可以被模块、脚本、还可以是其他交互式解释器导入(import)使用,也可以被其他程序使用。
2.模块的好处
1.可以提高代码的可维护性
2.可以提高代码的重用性
3.避免命名冲突,避免代码污染
3.python中模块分为3种
1.内置标准模块,也叫标准库,如sys、time、math、json模块等。内置模块一般放在安装目录下Lib文件夹中
2.第三方开源模块。一般通过pip install 模块名进行在线安装。
若在线安装失败,可以在官网上找到安装包,在本地离线安装
3.可以自定义安装,详细自定义安装,网站上都可以找到
4.自定义模块不能与系统模块重名,不然可能会有覆盖系统模块的风险
5.模块的搜索路径。import sys sys.path查看。模块搜索顺序:当前目录 PYTHONPATH(环境变量)下的每个目录 Python 安装目录
在脚本中手动添加搜索路径:
import sys
sys path
二.模块的导入
1.import
# 1. 导入模块
import 模块名
import 模块名1, 模块名2... # 但是pep8建议分行进行模块的导入
# 2. 调用功能
模块名.功能名()
import math
print(math.sqrt(325))
# 3.导入模块之后,可以使用 dir(模块名) 方法查看该模块中可用的成员。
import math
print(dir(math))
# 4.每当导入新的模块,sys.modules 会自动记录该模块
# 5.一般 import 命令放在脚本文档的顶端。在一个文档中,
# 不管执行了多少次 import 命令,一个模块仅导入一次,防止滥用 import 命令。
2. from…import…
# 语法:from 模块名 import 功能1, 功能2, 功能3...
from random import randint
print(randint(1, 325))
3.from … import *
# 语法:from 模块名 import *
from math import *
print(sqrt(325))
4. as定义别名。如果模块名字比较长,在导入模块时可以给它起一个别名。
# 模块定义别名 语法: import 模块名 as 别名
import numpy as np
# 功能定义别名 语法: from 模块名 import 功能 as 别名
5.如果一个模块文件中有 __all__ 变量,当使用 from xxx import *
导入时,只能导入这个列表中的元素。