Python 模块笔记
【摘要】 模块相关知识笔记
模块分为: 内置模块; 扩展模块; 自定义模块; 先从sys.modules 里面查看是否已经被导入 如果没有被导入,就依据sys.path路径去寻找模块 找到了在导入 创建这个模块的命名空间 执行文件,把文件中的名字都放到命名空间里 所有的模块导入都应该尽量的往上写 内置模块 扩展模块 自定义模块 模块不会重复被导入:sys.moudles 从哪儿导入模块:sys.path sys.moudles记录了所有被导入的模块 sys.path 记录了导入模块的时候寻找的所有路径 import import 模块名 模块名.变量名 和本文件中的变量名完全不冲突 import 模块名 as 重命名的模块名:提高代码的兼容性 import 模块1,模块2 from import from 模块名 import 变量名 直接使用 变量名 就可以完全操作 如果本文中有相同的变量名会发生冲突 from 模块名 import 变量名字 as 重命名变量名字 from 模块名 import 变量名1,变量名2 from 模块名 import * 将模块中的所有变量名都放到内存中 如果本文件中有相同的变量名会发生冲突 from 模块名 import * 和 __all__ 是一对 没有这个变量就会导入所有的名字 如果有all 只导入all列表中的名字 __name__ 在模块中 有一个变量__name__ , 当我们直接执行这个模块的时候,__name__ == '__main__' 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字' 序列化模块: 数据类型转换成字符串的过程就是序列化。 序列化 -- 转换一个字符串数据类型 序列 --字符串 应用场景: 数据存储 网络上传输的时候 从数据类型 --> 字符串的过程 序列化 从字符串 --> 数据类型的过程 反序列化 json 数字、字符串、列表、字典、元组 通用的序列化格式 只有很少的一部分数据类型能够通过json转换成为字符串 dumps loads dump 和文件有关 load 不能load多次 picke 所有的python中的数据类型都可以转换成为字符串形式 pickle序列化的内容只有python能够理解 且反序列化依赖python代码 方法和json一样 dump和load的时候 文件时rb 或者 wb打开的 shelve 序列化句柄 使用句柄直接操作,非常方便 open方法 open方法获取一个文件句柄 操作和字典类似
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)