'''一、定义:(1)模块:用来从逻辑上组织python代码(变量、函数、类,逻辑是实现一个功能)本质是.py结尾的python文件(2)包:用来从逻辑上组织模块的本质是一个目录(必须带有__init__.py文件)二、导入:import 文件名import 文件名A,文件名Bform 文件名 import * #导入该文件中全部的内容(变量、方法等;至关于把该文件的全部代码复制当前文件中)form 文件名 import 方法(只有名字) as 自定义一个方法名form 文件名 import 方法1(只有名字) as 自定义一个方法名,方法2(只有名字) as 自定义一个方法名三、import 的本质:import 文件A-->把文件A的代码解释了一遍,赋值给文件A(至关于A = 'A.py')。调用B变量:A.B;调用C方法:A.C() 找到A文件: 会先在sys.path.py中找,若找不到会报错,这时须要添加一个环境变量到sys.path.py文件中 import sys,os print( os.path.abspath(__file__) ) #abspath:获取路径。__file__:当前文件的文件名 print( os.path.dirname( os.path.abspath(__file__) ) ) #dirname:获取目录名(至关于返回上一层),加os.path.dirname()能够一直返回 BASE_DIR = os.path.dirname( os.path.dirname( os.path.abspath(__file__) )) sys.path.append(BASE_DIR) #append:添加,但会加到最后 sys.path.insert(0,BASE_DIR) #insert:能够用它插入到第一条 添加成功form 文件A import B变量,C方法-->把文件A的B变量,C方法在当前文件中执行了一遍,可直接调用。调用B变量:print(B);调用C方法:C()import 包A-->解释包A下的__init__.py文件---挎包调用---文件目录结构:项目名A 包B test1.py 包C 包D test2.pytest2.py文件中要调用test1.py文件的方法 先把项目名A设置成环境变量: sys.path.append( os.path.dirname( os.path.dirname( os.path.dirname( os.path.abspath(__file__) ) ) ) ) 在用from执行test1.py文件内容 from 包B import test1 能够随意调用test1文件中的任何内容了 name()四、导入优化:若在一个py文件中屡次调用模块中的方法,能够用from...impor...方法,节省时间,没必要每次调用都读取了五、模块的分类分为三类:分别是标准库(内置模块)、开源模块(第三方模块)、自定义模块'''