# 4_python个人练习 **Repository Path**: zero2200/4_python-example ## Basic Information - **Project Name**: 4_python个人练习 - **Description**: python个人练习 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-06-23 - **Last Updated**: 2025-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # python-- python个人练习 ## 1.基本语法 - [hello python](1_base/1_hello.py) - [python 做计算器](1_base/1_sum.py) - [python 解释器](1_base/2_python解释器.py) - [python main函数 + 编码utf-8 + 解释器](1_base/3_python_main.py) ### 1.数值 - [int i 递增](1_base/1_算数与逻辑控制/1_整数自增.py) - [int float范围比较](1_base/1_算数与逻辑控制/3_数值范围比较.py) ### 2.string字符串 - [python 长字符串 表示](1_base/2_string字符串/2_长字符串.py) - [python 长字符串 格式化](1_base/2_string字符串/2.2_长字符串_格式化.py) - [python 长字符串 转义 - 不转义](1_base/2_string字符串/2.1_长字符_不转义.py) - [fstring 格式化性能对比测试](1_base/2_string字符串/11_f-string_python字符串格式化.py) string转int,float,double - ["1.2.3"版本号 转数字 123](1_base/2_string字符串/12_版本号转数字version_2_num.py) ### 3.try_excepty异常 - [try excepty 实例](1_base/3_try_execpt/1_try_except.py) - [try excepty as e: 打印异常错误原因](1_base/3_try_execpt/2_try_except_打印错误原因.py) - [else 未捕获异常 try_excepty_else](1_base/3_try_execpt/3_try_else_未捕获到异常.py) - [finally 无论异常是否产生都要执行 try_excepty_finally](1_base/3_try_execpt/4_try_finally.py) - [raise 主动抛出异常](1_base/3_try_execpt/5_try_raise_主动抛出异常.py) - [assert 断言实例](1_base/9_assert_断言/1_assert_断言测试.py) ### 4.class 类 - [class student实例](1_base/4_class对象/1_student.py) - [class 私有变量: 禁止外部直接访问](1_base/4_class对象/2_私有变量.py) 类 继承-多态-重写 - [class 类-继承](1_base/4_class对象/3_Inheritance继承.py) - [class 类-多态](1_base/4_class对象/4_class_多态.py) - [class 类-多态 子类重写父类overload 运行实例](1_base/4_class对象/5_overload重载_子类改写父类方法.py) - [class 类-多态 子类必须重写父类方法 abstractmethod 实例](1_base/4_class对象/5.1_abstract_抽象父类_子类实现.py) - [class 类-多态 子类必须重写父类方法 abstractmethod 实例](1_base/4_class对象/5.2_abstrctmethod_抽象基类_方法重写.py) - [isinstance 父类,子类包含测试](1_base/4_class对象/6_对象类型判断_isinstance.py) - [hasattr 类的成员判断](1_base/4_class对象/7_hasattr_成员判断.py) - [super 子类-强制调用父类的方法](1_base/4_class对象/8_super_子类调父类.py) - [9_子类访问父类的self成员](1_base/4_class对象/9_子类访问父类的self成员.py) - [9.1_子类访问父类的self成员 失败实例](1_base/4_class对象/9.1_子类访问父类的self成员.py) - [10_多个父类_构造函数_与指定父类方法调用](1_base/4_class对象/10_class_多个父类_构造函数_方法调用.py) ### 5.enum枚举 - [enum枚举 Weekday 周1-周五 实例](1_base/5_enum/1_enum实例.py) - [enum枚举 color颜色 实例](1_base/5_enum/2_enum_枚举实例.py) - [enum枚举 判断 key(键) 或者 value(值)是否在枚举中](1_base/5_enum/3_enum_key与值_in_判断是否在枚举中.py) - [IntEnum 与 数值比较](1_base/5_enum/4_IntEnum_与数值比较.py) - [enum 混合类型](1_base/5_enum/5_enum_各种数据.py) ### 6.function函数 - [函数 参数有默认值](1_base/6_函数/1_函数默认参数.py) - [函数 pass空函数](1_base/6_函数/2_空函数_pass.py) ### 8.lambda表达式 - [lambda 表达式](1_base/8_lambda/1_lambda_测试.py) - [lambda 函数表达式](1_base/8_lambda/2_lambda_函数.py) ### 10.比较-逻辑判断 - [if 0: 逻辑判断](1_base/10_bool逻辑/1_bool_if_0_测试.py) - [None 空值比较](1_base/1_算数与逻辑控制/4_None_空值比较.py) ### 11.import module倒入模块 - [无 __main__ 的效果: 模块被调用时,代码被执行](1_base/11_import_module模块/1__无__main__的作用.py) - [if __name__ == "__main__" 的作用: 只有做main启动时,代码会被执行](1_base/11_import_module模块/2__name__main__的作用.py) ## 2.数据结构 ### 1.list[] 列表 [4_中文列表测试.py](2_data_structure_数据结构\01_list[]\4_中文列表测试.py) [5_结构体数组.py](2_data_structure_数据结构\01_list[]\5_结构体数组.py) [6_list_为空判断.py](2_data_structure_数据结构\01_list[]\6_list_为空判断.py) [7_list_返回两个list.py](2_data_structure_数据结构\01_list[]\7_list_返回两个list.py) [21_list_删除指定位置_pop.py](2_data_structure_数据结构\01_list[]\21_list_删除指定位置_pop.py) [22_list_删除指定内容_remove.py](2_data_structure_数据结构\01_list[]\22_list_删除指定内容_remove.py) [31_list_sort_reverse_排序_反向排序.py](2_data_structure_数据结构\01_list[]\31_list_sort_reverse_排序_反向排序.py) [33_list_sorted_排序拷贝.py](2_data_structure_数据结构\01_list[]\33_list_sorted_排序拷贝.py) ### 2.tuple() 元组-不可变 [1_tuple.py](2_data_structure_数据结构\02_tuple()_元组_不可变\1_tuple.py) ### 4.dict{} 字典 :键值-value - [4_dict.py](2_data_structure_数据结构\4_dict.py) - [dict 访问不存在的字典key dict.get("key_none")](2_data_structure_数据结构/04_dict{}字典/5_dict_访问不存在的key.py) - [dict 删除不存在的字典key dict.pop("key_none")](2_data_structure_数据结构/04_dict{}字典/6_dict_删除不存在的key.py) - [7_dict_字典异常处理不存在的key](2_data_structure_数据结构/04_dict{}字典/7_dict_字典异常处理不存在的key.py) ### 5.set(()) 集合不重合 - [set(())_集合_不重合](2_data_structure_数据结构/05_set(())集合_不重复/5_set_集合.py) ### 6.队列 [1_queue_队列实例.py](2_data_structure_数据结构\06_queue队列\1_queue_队列实例.py) ### 8.常量 -- python中作用不大 [1_const_常量实现1.py](2_data_structure_数据结构\8_const_常量\1_const_常量实现1.py) ### 8.bytes 二进制序列 - [bytes_示例](2_data_structure_数据结构/9_bytes_bytearray_二进制序列类型/1_bytes_示例.py) ## 3.模块 ### 3.文件处理 re正则表达式操作 [1_re_正则表达-测试.py](3_modules\03_文本处理\1_re-正则表达式\1_re_正则表达-测试.py) 文本读写 [1_open_行读取.py](3_modules\03_文本处理\2_file_open文件读写\1_open_行读取.py) ### 05_数据类型 copy --- 浅层 (shallow) 和深层 (deep) 复制操作 [1_copy对象拷贝.py](3_modules\25_copy\1_copy对象拷贝.py) ### 6.struct 二进制bytes 转 int,float [1_pack_数据转bytes.py](3_modules\6_二进制数据服务\1_pack_数据转bytes.py) [2_unpack_bytes_转源数据.py](3_modules\6_二进制数据服务\2_unpack_bytes_转源数据.py) [4_float_bytes转换.py](3_modules\6_二进制数据服务\4_float_bytes转换.py) [5_bytes_转_hex.py](3_modules\6_二进制数据服务\5_bytes_转_hex.py) [6_pack_数据转bytes.py](3_modules\6_二进制数据服务\6_pack_数据转bytes.py) [7_unpack_bytes转原始数据.py](3_modules\6_二进制数据服务\7_unpack_bytes转原始数据.py) [8_struct.pack_各数据的大小.py](3_modules/6_二进制数据服务/8_struct.pack_各数据的大小.py) [9_struct.pack_大端_小端_字段对齐验证.py](3_modules/6_二进制数据服务/9_struct.pack_大端_小端_字段对齐验证.py) - [11_struct.unpack_解析字节.py](3_modules/6_二进制数据服务/11_struct.unpack_解析字节.py) - [11.1_struct.unpack_解析字符_有多余的字节.py unpack_from](3_modules/6_二进制数据服务/11.1_struct.unpack_解析字符_有多余的字节.py) ### 10_文件和目录访问 stat 文件类型,权限解析 [1_stat_文件类型判断.py](3_modules\10_文件和目录访问\3_stat_文件类型判断\1_stat_文件类型判断.py) ### 11.os [1_os.system_获取执行结果.py](3_modules\11_os\1_os.system_获取执行结果.py) [2_os.path.exists_判断文件存在.py](3_modules\11_os\2_os.path.exists_判断文件存在.py) [3_获取自身文件名.py](3_modules\11_os\3_获取自身文件名.py) [4_os_path_绝对路径_文件名.py](3_modules\11_os\4_os_path_绝对路径_文件名.py) [5_os_path_文件后缀.py](3_modules\11_os\5_os_path_文件后缀.py) ### 12.copy 深拷贝 [1_deepcopy.py](3_modules\12_copy\1_deepcopy.py) ### 14.加密服务 [1_hashlib_计算文件md5.py](3_modules\14_加密服务\1_md5校验\1_hashlib_计算文件md5.py) [1_hashlib哈希与摘要.py](3_modules\14_加密服务\1_hashlib哈希与摘要.py) ### 15.通用系统服务 #### argparse命令行_子命令解析 [1_argparse_解析参数.py](3_modules\15_通用操作系统服务\4_argparse命令行_子命令解析\1_argparse_解析参数.py) [2_argparse_函数.py](3_modules\15_通用操作系统服务\4_argparse命令行_子命令解析\2_argparse_函数.py) #### getopt命令行解析 [1_getopt.py](3_modules\15_通用操作系统服务\5_getopt命令行解析\1_getopt.py) ### 16_并发执行 #### threading_线程 [5_threading.timer_异步定时执行任务.py](3_modules\16_并发执行\1_threading_线程\5_threading.timer_异步定时执行任务.py) [6_threading.timer_多个定时器_异步执行.py](3_modules\16_并发执行\1_threading_线程\6_threading.timer_多个定时器_异步执行.py) - [21_threading.Condition_条件变量.py](3_modules/16_并发执行/1_threading_线程/21_threading.Condition_条件变量.py) - [31_threading.Event_事件同步.py](3_modules/16_并发执行/1_threading_线程/31_threading.Event_事件同步.py) #### subprocess进程获取执行结果 [1_subprocess_获取执行过程与结果.py](3_modules\16_并发执行\4_subprocess自进程管理\1_subprocess_获取执行过程与结果.py) [2_subprocess_实时获取输出.py](3_modules\16_并发执行\4_subprocess自进程管理\2_subprocess_实时获取输出.py) #### sched_事件调度器 [1_sched_多个定时器.py](3_modules\16_并发执行\7_sched_事件调度器\1_sched_多个定时器.py) [2_sched_循环定时器.py](3_modules\16_并发执行\7_sched_事件调度器\2_sched_循环定时器.py) [3_sched.cancel_取消任务.py](3_modules\16_并发执行\7_sched_事件调度器\3_sched.cancel_取消任务.py) [4_sched_多个定时器.py](3_modules\16_并发执行\7_sched_事件调度器\4_sched_多个定时器.py) ### 17_网络和进程间通信_Networking_and_Interprocess_Communication #### asyncio_协程_异步 [1_asyncio_helloworld.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\1_asyncio_helloworld.py) [2_asyncio_create_task_实例.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\2_asyncio_create_task_实例.py) [2.1_asyncio_协程_更详细的时间戳.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\2.1_asyncio_协程_更详细的时间戳.py) [3_asyncio_可等待对象_协程.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\3_asyncio_可等待对象_协程.py) [3.1_asyncio_可等待对象_task.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\3.1_asyncio_可等待对象_task.py) [4_asyncio.gather_并发运行任务.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\4_asyncio.gather_并发运行任务.py) [5_asyncio.wait_for设置任务超时.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\5_asyncio.wait_for设置任务超时.py) [6_asyncio.shield_屏蔽取消.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\6_asyncio.shield_屏蔽取消.py) [11_asyncio.run_协程一直执行.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\1_asyncio_异步\11_asyncio.run_协程一直执行.py) #### socket 套接字 [1_udp_echo_server.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\2_socket\2_udp_service\1_udp_echo_server.py) [2_udp_echo_client.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\2_socket\2_udp_service\2_udp_echo_client.py) [3_udp_echo_server_select.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\2_socket\2_udp_service\3_udp_echo_server_select.py) [4_udp_echo_client_select.py](3_modules\17_网络和进程间通信_Networking_and_Interprocess_Communication\2_socket\2_udp_service\4_udp_echo_client_select.py) ### 18_互联网数据处理 #### json数据 [1_json_dump_字典转json.py](3_modules\5_json\1_json_dump_字典转json.py) [2_json_loads_字符串转字典.py](3_modules\5_json\2_json_loads_字符串转字典.py) [json.loads_非json字符转json_异常处理.py](3_modules\5_json\3_json.loads_非json字符转json_异常处理.py) ### 21.网络编程 [1_tcp_server.py](3_modules\21_network\1_tcp_server.py) [2_tcp_client.py](3_modules\21_network\2_tcp_client.py) [1_udp_发送端_echo用例.py](3_modules\21_network\03_udp通信服务\1_udp_发送端_echo用例.py) [2_udp_接受端_echo用例.py](3_modules\21_network\03_udp通信服务\2_udp_接受端_echo用例.py) [5_udp_server.py](3_modules\21_network\03_udp通信服务\5_udp_server.py) [6_udp_client.py](3_modules\21_network\03_udp通信服务\6_udp_client.py) ### 22.request http请求 [1_request_get.py](3_modules\22_request\1_request_get.py) [5_requests_post_json.py](3_modules\22_request\5_requests_post_json.py) [6_requests_post_file.py](3_modules\22_request\6_requests_post_file.py) [7_request_session_长连接版本.py](3_modules\22_request\7_request_session_长连接版本.py) [8_请求异常.py](3_modules\22_request\8_请求异常.py) [9_http_server.py](3_modules\22_request\9_http_server.py) ### 23.loggin 日志 [1_logging_日志输出实例.py](3_modules\23_logging日志\1_logging_日志输出实例.py) [2_logging_设置日志等级.py](3_modules\23_logging日志\2_logging_设置日志等级.py) ### 24.sqlite3 [1_sqlite3_read.py](3_modules\24_sqlite3数据库\1_sqlite3_read.py) [2_sqlite_创建表.py](3_modules\24_sqlite3数据库\2_sqlite_创建表.py) [3_并发读写_write测试.py](3_modules\24_sqlite3数据库\3_并发读写_write测试.py) [4_并发读写_read测试.py](3_modules\24_sqlite3数据库\4_并发读写_read测试.py) ### 26_调试与分析 [1_timeit_代码性能测试.py](3_modules\26_调试与分析\timeit_小片段代码测试\1_timeit_代码性能测试.py) ### 27.运行时服务 sys --- 系统相关的参数和函数 [5_sys.path显示python路径.py](3_modules\27_运行时服务\1_sys系统相关\5_sys.path显示python路径.py) #### 6.dataclass 定义class纯数据格式 [1_dataclass_实例.py](3_modules\27_运行时服务\6_dataclass_数据类\1_dataclass_实例.py) [2_dataclass_List_实例.py](3_modules\27_运行时服务\6_dataclass_数据类\2_dataclass_List_实例.py) ### 41.ftplib ftp读写库 [1_ftp读取.py](3_modules\41_ftplib\1_ftp读取.py) [2_ftp_封装.py](3_modules\41_ftplib\2_ftp_封装.py) [3_ftpopt_实例.py](3_modules\41_ftplib\3_ftpopt_实例.py) [ftpclt.py](3_modules\41_ftplib\ftpclt.py) ## 6.线程 : python线程问题多-->建议协程 [1_condition条件变量.py](6_thread\1_condition条件变量.py) [2_threading_测试.py](6_thread\2_threading_测试.py) [3_threading_参数.py](6_thread\3_threading_参数.py) [4_threading_timer定时器.py](6_thread\4_threading_timer定时器.py) ## 8.第3方模块 ### dbus远程调用 [1_dbus_client_调用远程对象方法.py](8_pip_modules\dbus\1_dbus_client_调用远程对象方法.py) [1_dbus_server_注册方法.py](8_pip_modules\dbus\1_dbus_server_注册方法.py) ### debugpy 优秀的网络、远程调试库 [1_listen_debug.py](4_debug\1_listen_debug.py) [2_connect_debug.py](4_debug\2_connect_debug.py) ### 4.pil图像处理库 [1_pil生成纯色图片.py](8_pip_modules\4_pil图片库\1_pil生成纯色图片.py) [2_pip图片查看.py](8_pip_modules\4_pil图片库\2_pip图片查看.py) [3_pil生成带文字图片.py](8_pip_modules\4_pil图片库\3_pil生成带文字图片.py) [4_pil绘制线段-点.py](8_pip_modules\4_pil图片库\4_pil绘制线段-点.py) [5_pil生成数字验证码.py](8_pip_modules\4_pil图片库\5_pil生成数字验证码.py) ### 6.matplotlib [01_matplotlib_绘制折线.py](8_pip_modules\6_matplotlib\01_matplotlib_绘制折线.py) [02_matplotlib_绘制直线.py](8_pip_modules\6_matplotlib\02_matplotlib_绘制直线.py) [03_matplotlib_生成多条直线.py](8_pip_modules\6_matplotlib\03_matplotlib_生成多条直线.py) [04_matplot_xy轴-标题设置.py](8_pip_modules\6_matplotlib\04_matplot_xy轴-标题设置.py) [05_matplotlib_指定x-y轴的数据.py](8_pip_modules\6_matplotlib\05_matplotlib_指定x-y轴的数据.py) [06_matplotlib_使用默认样式.py](8_pip_modules\6_matplotlib\06_matplotlib_使用默认样式.py) [07_matplotlib_支持中文.py](8_pip_modules\6_matplotlib\07_matplotlib_支持中文.py) [08_matplotlib_保存图片.py](8_pip_modules\6_matplotlib\08_matplotlib_保存图片.py) [11_matplotlib_scatter_分散点.py](8_pip_modules\6_matplotlib\11_matplotlib_scatter_分散点.py) [12_matplotlib_scatter_分散点颜色.py](8_pip_modules\6_matplotlib\12_matplotlib_scatter_分散点颜色.py) [13_matplotlib_scatter_分散点颜色映射.py](8_pip_modules\6_matplotlib\13_matplotlib_scatter_分散点颜色映射.py) ## 21.自己实现的功能 [2_linx_windows输入不按回车](21_自己的功能/2_linx_windows输入不按回车.py) [5_rk3588_cpu_mem_temp系统资源监控](21_自己的功能/5_系统资源监控/5_rk3588_cpu_mem_temp系统资源监控.py) [6_获取网卡mac](21_自己的功能/6_获取网卡mac.py) [6_获取指定 挂载点.磁盘 读写速率, 类似iotop](21_自己的功能/6_内存磁盘_文件读写/4_python_类_统计磁盘读写速率_io_counter.py) [6.1_挂载点 获取分区名](21_自己的功能/6_内存磁盘_文件读写/4_python_类_统计磁盘读写速率_io_counter.py) [7_git_submodule_自动clone_pull](21_自己的功能/7_git_submodule_自动clone_pull.py) [8_根据磁盘使用率_动态删除不同时间的日志](21_自己的功能/8_根据磁盘使用率_动态删除不同时间的日志.py) ## 23.opencv [001_图片转换.py](23_opencv\001_图片转换.py) [02_生成纯色图片.py](23_opencv\02_生成纯色图片.py) [03_生成文字图片.py](23_opencv\03_生成文字图片.py) [04_打开相机.py](23_opencv\04_打开相机.py) ## 25.外设模块 ### 1.serial串口 windows显示串口设备 [1_windows_显示串口设备.py](25_外设开发\1_serial串口\1_windows_显示串口设备.py) windows打开、读取串口数据 imu 超核电子CH0X0实例1 [3_windows_超核电子CH0X0_imu数据读取.py](25_外设开发\1_serial串口\3_windows_超核电子CH0X0_imu数据读取.py) imu 韩国R6082V实例2 [7_R6082V_imu模块.py](25_外设开发\1_serial串口\7_R6082V_imu模块.py)