python多版本共存 来到python的安装目录 找到python.exe可执行文件 将其改成不同的版本名即可 例如python36 然后在cmd里面输入python36就进入到python3.6版本
mains.py为本次演示的入口程序 要引用functions.py这个函数库
使用impprt直接引用模块 后缀名可以省略 python将一个文件当做一个模块
第一种引入外部文件方法
functions.py里面代码
第二种方法引入外部模块 通过变量名方式
模块搜索方式
模块搜索的路径 首先在内置模块里面搜索 如果找不到则去sys.path里面去寻找 sys模块 内置系统模块 访问由解释器使用或维护的变量 通过它可判断当前python的版本
看下面一段代码 这么引入会覆盖当前入口文件定义的showName()函数值 functions函数库中也有同名的showName()函数
这么写就不会覆盖
为了理解上面的两种情况 引入两个内置函数
locals()以字典形式返回当前局部符号表(包括定义的变量函数类内置函数文件路径等)
globals()以字典形式返回当前全局符号表
下面这种二者有区别
import 和 from ... import下面locals的区别
简单使用包 包的作用是管理模块的 init.py文件是区别该文件夹是普通文件夹还是python的包的
项目目录结构
可不可以直接导入common 然后引用呢 这种情况需要在init.py中预引用 即在里面输入import common.functions(此种方式不建议使用)
此时init.py里面代码为
下面这种方式需要在init.py文件中定义一个all数组来控制导入的模块 此方式为官方推荐的方式 all在init文件中控制模块的加载
此时init.py里面内容为
all数组也可以定义在公共函数库中用来控制要导出哪些变量
此时在functions.py里面加入