Python(包和模块)

定义

  • 包是将模块以文件夹的组织形式进行分组管理的方法,以便更好地组织和管理相关模块。

  • 包是一个包含一个特殊的__init__.py文件的目录,这个文件可以为空,但必须存在,以标识目录为Python包。

  • 包可以包含子包(子目录)和模块,可以使用点表示法来导入。

使用import关键字可以导入包和子包,以访问其中的模块和内容。

使用包和子包

__init__.py文件

__init__.py 文件的主要作用是用于初始化Python包(package)或模块(module),它可以实现以下功能:

标识包目录: 告诉Python解释器所在的目录应被视为一个包或包含模块的包。没有这个文件,目录可能不会被正确识别为包,导致无法导入包内的模块。

执行初始化代码

控制包的导入行为: 通过定义 __all__ 变量,可以明确指定哪些模块可以被从包中导入,从而限制包的公开接口,防止不需要的模块被导入。

提供包级别的命名空间

批量导入模块

第三方包

Python第三方包是由Python社区开发的,可用于扩展Python功能和解决各种问题的软件包。这些包提供了各种各样的功能,包括数据分析、机器学习、网络编程、Web开发、图形处理、自然语言处理等。

Python异常

作用:用作信号通知,通知上层调用者有错误产生需要处理

1. try 语句

语法:

案例:

2. raise 语句

抛出一个错误,让程序进入异常状态发送错误通知给调用者

raise:在代码出现异常时候,向外抛异常信息

先判断代码中是否会出现异常,如果会出现则向外抛异常,三思而后行

try不判断代码是否出现异常,当代码出现异常时通过except捕获,先执行再捕获

Python文件操作

文件操作是Python中常见的任务之一,用于创建、读取、写入和管理文件。以下是一些常见的文件操作任务的思路、总结和示例代码:

1. 打开文件

要执行文件操作,首先需要打开文件。使用open()函数可以打开文件,指定文件名以及打开模式(读取、写入、追加等)。

2. 读取文件

一旦文件被打开,可以使用不同的方法来读取文件内容。

也可用readline():

可读取到文件内容

3. 写入文件

要写入文件,需要打开文件以写入模式('w'),然后使用write()方法。

4. 关闭文件

完成文件操作后,应该关闭文件,以释放资源和确保文件的完整性。

5. 使用with

更安全的方法是使用with语句,它会自动关闭文件。

6. 检查是否存在

可以使用os.path.exists()来检查文件是否存在。

7. 处理异常

在文件操作中,可能会出现各种异常情况,例如文件不存在或没有权限。在文件操作中捕获这些异常是个好习惯。

8. 复制文件

要复制文件,你可以使用shutil模块的copy方法。

将src文件的内容复制到dst文件'

9. 删除文件

要删除文件,可以使用os模块的remove方法。

10. 修改名称

Python JSON 数据解析

JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它易于阅读和编写,同时也易于机器解析和生成。Python提供了内置的JSON模块,用于处理JSON数据。

1. 导入模块

2. 序列化

json.dumps() 是 Python 的 json 模块中的一个函数,它的作用是将 Python 对象转换为 JSON 格式的字符串。

3. 反序列化

json.loads() 是 Python json 模块中的一个函数,它的作用是将 JSON 格式的字符串转换为 Python 对象。

4. 对象存文件

5. 从文件加载

6. 嵌套JSON数据

如果JSON数据包含嵌套结构,您可以使用递归来访问和修改其中的值。

7. JSON中列表

JSON可以包含列表,可以使用索引来访问列表元素。

8. JSON中空值

JSON允许表示空值(null),在Python中,它通常转换为None

相关推荐
西瓜本瓜@3 分钟前
在Android开发中实现静默拍视频
android·java·开发语言·学习·音视频
_.Switch7 分钟前
高效网络自动化:Python在网络基础中的应用
运维·开发语言·网络·python·数据分析·自动化
lanboAI14 分钟前
基于yolov8的驾驶员疲劳驾驶检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】
pytorch·python·yolo
清灵xmf16 分钟前
JavaScript 中如何识别异步函数?
开发语言·javascript·async·异步函数
南巷逸清风19 分钟前
LeetCode 101.对称二叉树
c++·python·算法·leetcode
纪怽ぅ32 分钟前
浅谈——深度学习和马尔可夫决策过程
人工智能·python·深度学习·算法·机器学习
七月巫山晴33 分钟前
QChart中柱形图的简单使用并实现【Qt】
开发语言·数据结构·c++·qt·算法·排序算法
阿丁小哥35 分钟前
【Python各个击破】numpy
开发语言·python·numpy
琼火hu43 分钟前
R语言笔记(五):Apply函数
开发语言·笔记·r语言·apply
仙草哥哥1 小时前
使用virtualenv/Anaconda/Miniconda创建python虚拟环境
python·conda·virtualenv