码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 刷完这50个标准库模块:没人比我更懂Python了


    最新整理:60个标准库模块

    python强大,主要是因为包多,且不说第三方包,单是标准库就让人望而生畏了。

    在整理标准库的过程中,查阅了大量资料,以及官方文档,发现很多中文资料都有一个共同的特点——机翻风格严重。对于一些不常用,但有助于理解python运行机制的包,不仅中文资料乏善可陈,连英文资料都很稀缺,所以又不得不翻阅源码这个工作还是十分耗时的。

    文章目录

    • 快速入门
    • 数学、数据结构与函数式
    • 系统、路径、文件读写
    • 并发与混合编程
    • 字符串、编码、日期时间
    • 文件类型
    • 其他

    快速入门

    首先,对于尚未入门的朋友,这里准备了四篇快速入门的文档

    • 1小时快速入门Python
    • 如何用两个晚上教会妹纸Python
    • 写给Matlab用户的Python急速入门手册
    • 从Python新手到高手的80行代码

    数学、数据结构与函数式

    在入门之后,就应该迅速累积代码量了,这里建议从数学模块开始,下面六个模块涵盖了基础计算模块math;复数计算模块cmath;基础统计模块statistics;伪随机数生成模块random;分数表达模块fractions;精确计算模块decimal。

    • Python内置的6个数学模块

    Python内置了针对列表的二分、搜索算法,下面这篇博客总结了与此相关的三个模块:有序列表查找 bisect、堆算法 heapq、紧凑的数组类型 array

    • Python排序搜索算法

    python号称函数式语言,而下面的模块则是助力Python成为函数式语言的三大神器,其中运算符函数化可以提供括号风格的书写格式;functools可以加速Python的龟速循环与递归;itertools可以避免迭代对象对内存的大量占用。

    • 运算符函数化operator模块
    • 高手分界线functools
    • 高手专用itertools

    系统、路径、文件读写

    这部分内容中,使用最频繁的就是文件读写,这一点从超过一万五千的阅读量就可见一斑

    • 文件读写函数open

    os模块复现了操作系统的部分功能,提供了包括路径操作、进程管理等一些列功能。其中的os.path针对不同操作系统的文件组织方式,提供了相同的API,实现了跨平台

    • 调用操作系统 os模块
    • 路径处理之os.path
    • 路径匹配 glob
    • 高阶文件操作 shutil
    • 系统错误码
    • 系统设置 sys

    并发与混合编程

    对多线程和多进程的友好支持,挽救了Python的速度

    • Python多线程详解
    • 定时任务sched

    由于多进程和多线程的语法过于雷同,所以并没有总结,而只针对多进程通信的部分内容做了说明。

    • 进程通信
    • 进程池

    此外,这篇用了cuda之后速度起飞,尽管主要目的是介绍显卡计算,但测试了多线程和多进程的对比,值得一看。

    如果想进一步提高Python的速度,可以利用Python的胶水语言的特色,通过Python和C的混合编程,达到开发速度和运行速度的双赢,走上人生巅峰

    • Windows系统中python和C混合编程

    字符串、编码、日期时间

    字符串最核心的问题就是格式化与搜索,前者的功能由字符串本身实现,后者则需通过强大的正则表达式。pprint针对字典、列表优化了输出方案,textwrap解决了针对段落文本的格式化问题。

    • python字符串
    • 正则表达式 re
    • 美化输出 pprint
    • 段落格式化 textwrap

    本文主要整理了两种编码模块,一种是二进制转化模块struct,另一种则用于ASCII编码。

    • 二进制转化 struct
    • ASCII编解码 binascii

    与日期时间相关的模块,实际上提供的也是一种转换功能,即如何将一串时间戳转换为可读的数字,或者更进一步,转换为可读性更强的字符串。本文整理了如下三个与日期时间相关的模块,其中time模块相对来说使用更频繁一些,除了获取系统时间之外,还提供了sleep这种暂停线程的系统功能。

    • time模块
    • 日历打印 calendar
    • 时区变换 zoneinfo

    文件类型

    python提供了一些基本的文件类型处理模块。其中,csv文件是最常用的数据格式;json是网络中最流行的信息传输文件;ini是windows下最常用的配置文件。

    • csv文件
    • json文件
    • ini文件
    • html
    • 压缩和解压模块zlib

    图像类型识别模块imghdr和音频文件识别模块sndhdr已被新版本的Python弃用,官方文档推荐了filetype,可以根据内容推测超过60种文件类型。

    其他

    深拷贝和浅拷贝涉及到了Python的运行逻辑,了解这一点,不仅可以避免一些不必要的bug,对优化代码也有一定的作用。

    • 深拷贝和浅拷贝

    套接字可提供低级别的网络服务,认识IP协议,便从这里开始

    • 套接字通信:socket

    单元测试模块有助于更加顺利地完成开发流程

    • 单元测试模块:TestCase

    最后,本文总结了下面几个基本的音频处理和色彩转换模块

    • 音频数据处理:audioop
    • 播放音乐:winsound
    • 色彩模式转换模块:colorsys
    • wav格式处理
  • 相关阅读:
    【优化布局】基于Lichtenberg算法(MOSSPOLA)实现多目标传感器选择与放置优化问题附matlab代码
    电线延长寿命小妙招
    进程控制详解
    “Spark+Hive”在DPU环境下的性能测评 | OLAP数据库引擎选型白皮书(24版)DPU部分节选
    Python 深度学习导入的一些包的说明
    为什么索引要用B+树来实现呢,而不是B树
    看完阿里最新产500页微服务架构笔记,感觉我格局太小
    在html和css中的引用svg(一)
    MES系统核心价值之如何确保生产过程有序?
    763. Partition Labels
  • 原文地址:https://blog.csdn.net/m0_37816922/article/details/127407981
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号