← 返回首页
📄

python

104 篇笔记

Python 3.13新特性:实验性JIT、自由线程与改进的REPL

Python 3.13新特性:实验性JIT、自由线程与改进的REPL Python 3.13是一个里程碑式的版本,引入了实验性的JIT编译器、自由线程模式等革命性特性,标志着Python在性能和并发处理方面的重大突破。 实验性JIT编译器 Python 3.13引入了基于copy-and-patch...

⏱ 5m Python 3.13JIT自由线程

Python 3.12新特性:类型参数语法、f-string改进与性能优化

Python 3.12新特性:类型参数语法、f-string改进与性能优化 Python 3.12带来了许多令人兴奋的新特性,包括更简洁的类型注解语法、改进的f-string、显著的性能提升,以及更好的错误消息。本文将详细介绍这些重要更新。 PEP 695:新的类型参数语法 Python 3.12引...

⏱ 5m Python 3.12PEP 695类型系统

Python生态全景:PyPI、打包分发、版本管理与虚拟环境

Python生态全景:PyPI、打包分发、版本管理与虚拟环境 Python拥有庞大的生态系统,掌握包管理、打包分发和环境管理是每个Python开发者必备的技能。本文将全面介绍Python生态的核心组成部分。 PyPI与pip:包管理基础 PyPI(Python Package Index)是Pyth...

⏱ 4m PyPIpip打包分发

Python安全编程:加密、签名、安全哈希与漏洞防护

Python安全编程:加密、签名、安全哈希与漏洞防护 安全编程是现代软件开发中不可或缺的技能。本文将介绍Python中的加密技术、安全哈希、数字签名,以及如何防护常见的安全漏洞。 密码学基础 对称加密 python from cryptography.fernet import Fernet fro...

⏱ 6m 安全编程加密签名

序列化深度解析:pickle、marshal、msgpack与protobuf

序列化深度解析:pickle、marshal、msgpack与protobuf 序列化是将Python对象转换为可存储或传输格式的过程,反序列化则是其逆过程。选择合适的序列化方案对系统性能、安全性和可维护性都有重要影响。 pickle:Python原生序列化 pickle是Python内置的序列化模...

⏱ 5m 序列化picklemarshal

Python运行时揭秘:sys模块、运行时修改与热重载

Python运行时揭秘:sys模块、运行时修改与热重载 Python运行时是程序执行的环境,理解其内部机制可以让你更灵活地控制程序行为、实现高级功能如热重载和运行时修改。本文将深入探索Python运行时的核心概念和实用技术。 sys模块深度探索 sys模块提供了访问Python解释器相关属性和函数的...

⏱ 4m 运行时sys模块热重载

异步IO深度剖析:epoll/kqueue、IO多路复用与uvloop

异步IO深度剖析:epoll/kqueue、IO多路复用与uvloop 异步IO是现代高并发网络应用的核心技术。理解其底层机制对于编写高性能的Python网络程序至关重要。本文将深入剖析从操作系统层面到Python实现的完整异步IO栈。 操作系统层面的IO模型 阻塞IO与非阻塞IO python i...

⏱ 3m 异步IOasyncioepoll

Python性能优化终极指南:PyPy、Numba与JIT编译

Python性能优化终极指南:PyPy、Numba与JIT编译 Python因其简洁易读的语法而广受欢迎,但其解释型特性也带来了性能挑战。本文将深入介绍Python性能优化的各种技术,从简单的代码优化到高级的JIT编译,帮助你构建高性能的Python应用。 性能分析:找到瓶颈 优化的第一步是识别瓶颈...

⏱ 3m 性能优化PyPyNumba

事件驱动架构:Event Sourcing、CQRS与事件溯源

事件驱动架构:Event Sourcing、CQRS与事件溯源 事件驱动架构(Event-Driven Architecture, EDA)是一种以事件的产生、检测、消费和响应为核心的软件架构模式。在现代分布式系统中,EDA已成为构建高可扩展性、高可观测性和最终一致性的关键架构选择。 事件溯源(Ev...

⏱ 3m 事件驱动Event SourcingCQRS

高并发架构

高并发架构 高并发架构是构建可扩展、高性能系统的关键。本文将深入探讨连接池、限流、熔断和负载均衡技术,帮助开发者设计可靠的高并发系统。 连接池设计 连接池是复用连接资源的重要技术,可以显著减少连接建立和销毁的开销。 python import time import threading from d...

⏱ 9m 高并发连接池限流

functools高级用法

functools高级用法 functools模块提供了用于操作函数和可调用对象的高级工具。通过学习partial、lrucache、reduce等函数,可以编写更简洁、高效的函数式代码。 partial函数应用 partial函数用于创建偏函数,固定函数的部分参数,生成新的可调用对象。这在需要重复...

⏱ 6m functoolspartiallru_cache

分布式系统

分布式系统 分布式系统是现代软件架构的核心。本文将深入探讨CAP定理、一致性模型和分布式事务处理,帮助开发者设计可靠的分布式系统。 CAP定理 CAP定理指出,分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolera...

⏱ 7m 分布式系统CAP定理一致性

上下文管理器进阶

上下文管理器进阶 上下文管理器是Python中管理资源的重要机制,通过with语句确保资源的正确获取和释放。contextlib模块提供了创建和操作上下文管理器的高级工具,支持嵌套、异步和自定义实现。 基础上下文管理器 除了使用类实现enter和exit方法,contextlib提供了更简洁的方式创...

⏱ 4m 上下文管理器contextlib资源管理

Python虚拟机

Python虚拟机 Python虚拟机(PVM)是执行Python字节码的运行时环境。理解PVM的工作原理对于优化代码性能和调试复杂问题至关重要。 执行模型概述 Python虚拟机基于栈的执行模型,使用操作数栈和局部变量表来执行字节码指令。每个函数调用都会创建一个新的栈帧。 python impor...

⏱ 5m Python虚拟机执行模型栈帧

抽象基类与abc模块

抽象基类与abc模块 抽象基类(Abstract Base Classes,ABC)是Python中用于定义接口规范的重要工具。通过abc模块,开发者可以创建不能被实例化的基类,强制子类实现特定的方法,从而确保接口的一致性和完整性。 抽象基类基础 抽象基类使用abc.ABC作为基类,通过@abstr...

⏱ 5m 抽象基类abc模块接口设计

标准库源码分析

标准库源码分析 Python标准库提供了高质量的参考实现。通过分析list、dict、str等核心数据结构的源码,可以深入理解Python的设计哲学和性能优化技巧。 list实现原理 Python的list是动态数组实现,支持高效的随机访问和动态扩容。理解其内部机制有助于编写高性能的Python代码...

⏱ 6m 标准库源码分析list

importlib深度解析

importlib深度解析 importlib是Python标准库中用于导入模块的核心模块,它提供了对Python导入系统的底层访问。通过importlib,开发者可以实现自定义导入机制、动态加载模块、处理命名空间包等高级功能。 基础导入机制 importlib提供了多种导入模块的方式,从简单的动态...

⏱ 4m importlib模块系统动态导入

Python字节码与虚拟机

Python字节码与虚拟机 Python是一种解释型语言,但它的执行过程并非直接解释源代码。Python源代码首先被编译成字节码,然后由Python虚拟机执行字节码。理解字节码和虚拟机的工作原理对于优化Python代码和调试性能问题至关重要。 字节码的基本概念 字节码是Python源代码编译后的中间...

⏱ 5m 字节码虚拟机dis模块

框架开发实战

框架开发实战 开发Python框架需要深入理解软件架构设计原则。本文将介绍如何设计和实现插件系统、中间件、路由和钩子机制。 插件系统设计 插件系统是框架扩展性的关键。一个良好的插件系统应该支持动态加载、版本管理和依赖解析。 python import importlib import os impo...

⏱ 5m 框架开发插件系统中间件

importlib与模块系统

importlib与模块系统 Python的模块系统是代码组织和复用的基础。本文将深入探讨importlib模块的工作原理,包括Finder、Loader和自定义导入钩子。 模块导入机制 Python的导入系统由多个组件组成,包括导入钩子、路径查找器和模块加载器。理解这些组件的工作原理对于调试导入问...

⏱ 4m importlib模块系统Finder

GIL深度解析

GIL深度解析 全局解释器锁(GIL)是Python中最具争议的特性之一。本文将深入探讨GIL的工作原理、线程安全问题以及Python社区的无GIL计划。 GIL的基本原理 GIL是一个互斥锁,它确保同一时刻只有一个线程可以执行Python字节码。这是CPython的实现细节,不是Python语言规...

⏱ 4m GIL线程安全PyFreeThreaded

Python对象模型

Python对象模型 Python的对象模型是理解Python运行时行为的基础。本文将深入探讨PyObject结构、类型系统和内存布局,帮助开发者理解Python对象的本质。 PyObject基础结构 在CPython中,所有Python对象都以PyObject结构为基础。这个结构包含了对象的引用计...

⏱ 3m Python对象模型PyObject类型系统

Python编译器

Python编译器 Python编译器负责将源代码转换为可执行的字节码。理解编译器的内部工作原理对于优化代码性能和调试复杂问题具有重要意义。 编译流程概述 Python的编译过程分为几个主要阶段:词法分析、语法分析、语义分析、字节码生成和优化。每个阶段都产生中间表示,最终生成Python虚拟机可执行...

⏱ 3m Python编译器AST编译流程

CPython解释器内部机制

CPython解释器内部机制 CPython是Python的官方参考实现,理解其内部机制对于优化代码和调试复杂问题至关重要。本文将深入探讨CPython解释器的核心组件。 解释器架构概述 CPython解释器主要由三个部分组成:词法分析器、编译器和虚拟机。整个执行流程可以概括为:源代码 → 词法分析...

⏱ 3m CPython解释器字节码

消息队列

消息队列 消息队列是构建分布式系统的关键组件。本文将介绍RabbitMQ、Kafka和Celery在Python中的应用,实现异步任务处理和事件驱动架构。 RabbitMQ基础 python import pika import json from typing import Callable, A...

⏱ 7m 消息队列RabbitMQKafka

微服务架构

微服务架构 微服务架构将应用拆分为小型、独立的服务。本文将介绍Python微服务的设计原则、API网关、服务发现和gRPC通信。 服务拆分原则 python 单体应用 vs 微服务 单体:所有功能在一个进程中 微服务:每个功能是独立服务 服务拆分示例 用户服务 class UserService:...

⏱ 6m 微服务API网关服务发现

集成测试与端到端测试

集成测试与端到端测试 集成测试验证组件之间的协作,端到端测试验证整个系统流程。本文将介绍测试数据库、API测试和浏览器自动化测试。 测试数据库配置 python import pytest from sqlalchemy import createengine from sqlalchemy.orm...

⏱ 4m 集成测试端到端测试API测试

测试驱动开发

测试驱动开发 测试驱动开发(TDD)是一种通过先写测试再写代码的开发方法。本文将介绍TDD的核心原则、RED-GREEN-REFACTOR循环和最佳实践。 TDD核心原则 python 1. 只在测试失败时写代码 2. 消除重复设计 3. 保持小步前进 传统开发 vs TDD 传统:需求 → 代码...

⏱ 4m TDD测试驱动开发单元测试

CI/CD实践

CI/CD实践 持续集成和持续部署是现代软件开发的核心实践。本文将介绍如何使用GitHub Actions构建Python项目的CI/CD流水线。 GitHub Actions基础 创建.github/workflows/ci.yml: yaml name: Python CI on: push...

⏱ 4m CI/CDGitHub Actions自动化测试

Docker与Python

Docker与Python Docker是现代应用部署的标准工具。本文将介绍如何使用Docker容器化Python应用,包括最佳实践和高级配置。 基础Dockerfile dockerfile 基础Python镜像 FROM python:3.11-slim 设置工作目录 WORKDIR /app...

⏱ 4m Docker容器化部署

异步编程模式

异步编程模式 异步编程是现代Python高性能应用的关键。本文将介绍几种重要的异步编程模式和最佳实践。 异步上下文管理器 python import asyncio import aiohttp from contextlib import asynccontextmanager 基本异步上下文管理...

⏱ 4m 异步编程asyncio异步上下文管理器

并发编程进阶

并发编程进阶 concurrent.futures模块提供了高级的并发执行接口。本文将深入讲解ThreadPoolExecutor、ProcessPoolExecutor和Future对象的使用技巧。 Executor基类 所有执行器都继承自Executor基类: python from concu...

⏱ 3m 并发编程多线程多进程

Cython入门

Cython入门 Cython是Python的超集,允许添加静态类型声明并编译为C代码,显著提升性能。本文将介绍Cython的核心概念和优化技巧。 基本语法 Cython使用.pyx扩展名,语法类似Python但可添加类型: cython example.pyx def calculatesum(i...

⏱ 2m Cython类型注解编译优化

C扩展与ctypes

C扩展与ctypes Python作为高级语言,在某些计算密集型任务上性能受限。通过C扩展,我们可以调用C语言编写的库,大幅提升性能。本文将介绍三种主要方法:ctypes、CFFI和编写C扩展。 ctypes基础 ctypes是Python标准库中的外部函数接口,可以直接调用动态链接库: pytho...

⏱ 2m C扩展ctypesCFFI

算法优化

算法优化 算法优化是提高程序性能的关键。理解时间复杂度、空间复杂度以及合适的数据结构选择,能让你写出更高效的代码。 时间复杂度分析 时间复杂度描述算法执行时间随输入规模增长的趋势。 python import time def constanttime(n): """O(1) - 常数时间"...

⏱ 5m Python算法优化时间复杂度

性能分析与调优

性能分析与调优 性能分析是优化代码的第一步。Python提供了多种工具来帮助你找到性能瓶颈并进行优化。 timeit:快速计时 timeit适合测量小段代码的执行时间。 python import timeit 基本用法 timetaken = timeit.timeit('sum(range(10...

⏱ 4m Python性能分析cProfile

内存管理与垃圾回收

内存管理与垃圾回收 Python的内存管理是自动的,但理解其机制能帮助你写出更高效、更少内存泄漏的代码。 引用计数 Python主要使用引用计数来管理内存。每个对象都有一个引用计数器,记录有多少引用指向它。 python import sys class MyObject: def init...

⏱ 3m Python内存管理垃圾回收

魔术方法大全

魔术方法大全 魔术方法(Magic Methods)是Python中以双下划线开头和结尾的特殊方法,它们让你的类与Python的内置操作无缝集成。 字符串表示 str和repr python class Point: def init(self, x, y): self.x...

⏱ 5m Python魔术方法运算符重载

描述符协议深入

描述符协议深入 描述符是Python中实现属性访问的基础机制。理解描述符协议是掌握Python对象模型的关键,它驱动着property、方法、类方法、静态方法等核心特性。 描述符协议基础 描述符是实现了以下任一方法的对象: - get(self, obj, objtype=None) - 获取属性...

⏱ 5m Python描述符数据描述符

元编程

元编程 元编程是编写操作程序的程序。Python作为动态语言,提供了强大的元编程能力,让你可以在运行时修改类、函数和代码本身。 元类基础 元类是类的类。类定义了类的实例的行为,而元类定义了类的行为。 python 所有类都是type的实例 class MyClass: pass obj =...

⏱ 4m Python元编程元类

行为型模式

行为型模式 行为型模式关注对象之间的通信和职责分配。本文将介绍四种重要的行为型模式:策略、命令、状态和责任链模式。 策略模式 策略模式定义一系列算法,将每个算法封装起来,并使它们可以相互替换。 python from abc import ABC, abstractmethod from typin...

⏱ 5m Python设计模式策略模式

结构型模式

结构型模式 结构型模式关注类和对象的组合方式,通过组合来形成更大的结构。本文将介绍四种重要的结构型模式:适配器、装饰器、代理和外观模式。 适配器模式 适配器模式将一个类的接口转换成客户希望的另一个接口,使原本接口不兼容的类可以一起工作。 对象适配器 python from abc import AB...

⏱ 4m Python设计模式适配器模式

创建型模式

创建型模式 创建型模式专注于对象的创建机制,将对象的创建与使用分离。本文将介绍三种高级创建型模式:建造者模式、原型模式和抽象工厂模式。 建造者模式 建造者模式将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。适用于创建过程复杂、步骤多的对象。 建造者实现 python from...

⏱ 4m Python设计模式建造者模式

设计模式入门

设计模式入门 设计模式是解决软件设计中常见问题的可重用解决方案。Python作为一种动态语言,实现设计模式时有其独特的优雅之处。本文将介绍三种最常用的设计模式:单例、工厂和观察者模式。 单例模式 单例模式确保一个类只有一个实例,并提供全局访问点。在Python中,有多种实现方式: 使用new方法 p...

⏱ 3m Python设计模式单例模式

命令行工具:argparse、click、参数解析与子命令

命令行工具:argparse、click、装饰器与子命令 命令行工具是开发者日常使用的必备工具。Python提供了强大的库来创建专业的CLI应用。本文将介绍argparse和click两种主流方案。 argparse基础 argparse是Python标准库的命令行解析模块: python impo...

⏱ 4m Python命令行argparse

日志系统:logging模块、Handler、Formatter与最佳实践

日志系统:logging模块、Handler、Formatter与最佳实践 日志是程序运行时的重要记录,帮助我们调试问题、监控系统状态、追踪用户行为。Python的logging模块提供了灵活且强大的日志功能。本文将全面介绍日志系统的使用。 为什么需要日志 - 调试:定位代码中的问题 - 监控:了解...

⏱ 4m Python日志logging

Mock与测试替身:unittest.mock、patch与MagicMock

Mock与测试替身:unittest.mock、patch与MagicMock 在单元测试中,我们经常需要隔离外部依赖(数据库、API、文件系统等)。Mock对象可以模拟这些依赖,让测试专注于被测试代码的逻辑。本文将深入讲解Python的Mock机制。 什么是测试替身 测试替身(Test Doubl...

⏱ 5m PythonMock测试替身

单元测试:unittest、pytest、断言与测试组织

单元测试:unittest、pytest、断言与测试组织 单元测试是保证代码质量的关键手段,能帮助我们在代码变更时快速发现问题。本文将介绍Python中最常用的测试框架和最佳实践。 为什么需要单元测试 - 提前发现问题:在开发阶段发现bug比生产环境更便宜 - 重构保障:修改代码时确保现有功能不被破...

⏱ 4m Python单元测试pytest

数据分析实战:EDA流程、统计分析与数据洞察

数据分析实战:EDA流程、统计分析与数据洞察 探索性数据分析(EDA)是数据分析的第一步,通过可视化和统计方法理解数据的特征、发现模式和异常。本文将介绍完整的EDA流程和实用的统计分析方法。 EDA完整流程 一个标准的EDA流程包括以下步骤: python import pandas as pd i...

⏱ 4m Python数据分析EDA

数据可视化:Matplotlib、Seaborn与绑图基础

数据可视化:Matplotlib、Seaborn与绑图基础 数据可视化是数据分析的关键环节,能直观展示数据模式、趋势和关系。本文将介绍Python中最常用的可视化库:Matplotlib和Seaborn。 Matplotlib基础 Matplotlib是Python最基础的绑图库,几乎所有可视化库都...

⏱ 3m PythonMatplotlibSeaborn

Pandas进阶:数据清洗、GroupBy、合并与透视表

Pandas进阶:数据清洗、GroupBy、合并与透视表 掌握Pandas的基础操作后,本文将深入讲解数据清洗、分组聚合、数据合并和透视表等进阶技能,这些是实际数据分析工作中最常用的技术。 数据清洗 真实数据往往充满各种问题,数据清洗是分析前的关键步骤: python import pandas a...

⏱ 3m PythonPandas数据清洗

Pandas基础:Series、DataFrame与数据读取

Pandas基础:Series、DataFrame与数据读取 Pandas是Python中最流行的数据分析库,提供了高效、灵活的数据结构来处理结构化数据。本文将介绍Pandas的核心概念和基础操作。 Series:一维带标签数组 Series是Pandas的一维数据结构,类似于带索引的字典或NumP...

⏱ 3m PythonPandas数据分析

NumPy进阶:广播、线性代数、随机数与性能

NumPy进阶:广播、线性代数、随机数与性能 在掌握NumPy基础之后,本文将带你深入了解广播机制、线性代数运算、随机数生成以及性能优化等进阶主题,帮助你编写更高效、更优雅的数值计算代码。 广播机制 广播(Broadcasting)是NumPy中强大的特性,允许不同形状的数组进行算术运算,无需显式复...

⏱ 3m PythonNumPy广播

NumPy基础:ndarray、创建、索引与运算

NumPy基础:ndarray、创建、索引与运算 NumPy(Numerical Python)是Python科学计算的核心库,提供了高性能的多维数组对象和丰富的数学函数。几乎所有数据科学和机器学习库都建立在NumPy之上。本文将带你掌握NumPy的基础知识。 什么是ndarray ndarray(...

⏱ 3m PythonNumPy数据科学

Django进阶:中间件、信号、缓存与REST Framework

Django进阶:中间件、信号、缓存与REST Framework 掌握Django基础后,本文将带你深入学习中间件机制、信号系统、缓存策略和Django REST Framework,让你能够构建高性能、可扩展的Web应用。 中间件 中间件是Django处理请求和响应的钩子框架: 自定义中间件 p...

⏱ 6m PythonDjango中间件

Django框架基础:MTV模式、Admin、ORM与模板

Django框架基础:MTV模式、Admin、ORM与模板 Django是Python最强大的全功能Web框架,遵循"自带电池"的设计理念。它提供了完善的ORM、Admin后台、模板系统等组件,让你能快速构建高质量的Web应用。本文将带你掌握Django的核心基础。 安装Django bash pi...

⏱ 5m PythonDjangoWeb框架

Flask进阶:扩展、RESTful API、认证与数据库集成

Flask进阶:扩展、RESTful API、认证与数据库集成 掌握Flask基础后,本文将带你深入学习Flask的高级特性,包括扩展系统、RESTful API设计、用户认证和数据库集成,让你能够构建生产级的Web应用。 Flask扩展系统 Flask通过扩展机制提供丰富的功能: python 常...

⏱ 6m PythonFlaskRESTful

Flask框架基础:路由、模板、请求响应与蓝图

Flask框架基础:路由、模板、请求响应与蓝图 Flask是一个轻量级的Python Web框架,被称为"微框架"。它核心简单但可扩展性强,非常适合快速开发Web应用和API。本文将带你掌握Flask的基础知识。 安装Flask bash pip install flask 最简单的Flask应用...

⏱ 5m PythonFlaskWeb框架

Web开发入门:HTTP协议、WSGI与路由概念

Web开发入门:HTTP协议、WSGI与路由概念 Web开发是Python最热门的应用方向之一。在学习Flask、Django等框架之前,理解HTTP协议、WSGI规范和路由概念至关重要。本文将从底层原理开始,带你理解Web开发的核心机制。 HTTP协议基础 HTTP(超文本传输协议)是Web的基础...

⏱ 5m PythonWeb开发HTTP

SQLAlchemy入门:ORM、Model、Session与查询

SQLAlchemy入门:ORM、Model、Session与查询 SQLAlchemy是Python最强大的ORM(对象关系映射)框架,它将数据库表映射为Python类,让开发者用面向对象的方式操作数据库。本文将带你掌握SQLAlchemy的核心概念和使用方法。 安装SQLAlchemy bash...

⏱ 4m PythonSQLAlchemyORM

数据库编程基础:SQLite3、CRUD与参数化查询

数据库编程基础:SQLite3、CRUD与参数化查询 数据库是现代应用的核心组件,用于持久化存储和管理数据。Python内置了sqlite3模块,让我们无需安装额外软件就能学习数据库编程。本文将从基础开始,带你掌握数据库操作的核心技能。 SQLite简介 SQLite是一个轻量级的嵌入式数据库,不需...

⏱ 6m PythonSQLite数据库

JSON与XML处理:数据交换格式完全指南

JSON与XML处理:数据交换格式完全指南 数据交换格式是不同系统之间传递数据的桥梁。JSON、XML和YAML是三种最常用的数据格式。Python内置了JSON支持,XML和YAML则需要第三方库。本文将全面介绍这些格式的处理方法。 JSON处理 JSON(JavaScript Object No...

⏱ 4m PythonJSONXML

HTTP编程:requests库、响应处理与Session管理

HTTP编程:requests库、响应处理与Session管理 HTTP(超文本传输协议)是Web的基础协议。Python的requests库是目前最流行的HTTP客户端库,提供了简洁优雅的API。本文将全面介绍HTTP编程的各个方面。 安装requests bash pip install req...

⏱ 3m PythonHTTPrequests

网络编程入门:Socket、TCP/UDP与客户端/服务器模型

网络编程入门:Socket、TCP/UDP与客户端/服务器模型 网络编程是现代软件开发的核心技能之一。Python内置的socket模块提供了底层网络通信能力,让你能够构建客户端和服务器应用。本文将带你从零开始掌握网络编程基础。 什么是Socket Socket(套接字)是网络通信的端点,是应用程序...

⏱ 3m Python网络编程Socket

异步编程进阶

异步编程进阶 本文将深入探讨异步编程的高级特性,包括任务管理、信号量控制、异步生成器以及使用aiohttp进行异步HTTP请求。 创建和管理 Task python import asyncio async def backgroundtask(name, interval): while...

⏱ 2m Python异步asyncio

异步编程入门

异步编程入门 异步编程是Python处理高并发I/O操作的现代解决方案。通过 asyncio 模块,你可以编写单线程的并发代码,性能远超传统多线程。 基础概念 异步编程的核心概念: - 协程(Coroutine):使用 async def 定义的函数 - await:等待异步操作完成 - Event...

⏱ 2m Python异步asyncio

多进程编程

多进程编程 Python的 multiprocessing 模块允许你创建独立的进程,每个进程有自己的内存空间和Python解释器,适合CPU密集型任务。 创建进程 python import multiprocessing import os def worker(name): print...

⏱ 2m Python多进程multiprocessing

多线程编程

多线程编程 Python的 threading 模块提供了丰富的多线程编程工具。本文将深入讲解线程管理、同步机制和线程池的使用。 创建线程 python import threading def worker(num): print(f"工作线程 {num} 执行中") 创建并启动线程 th...

⏱ 2m Python多线程threading

并发编程入门

并发编程入门 Python并发编程是处理多任务的核心技术。理解GIL的限制,以及何时选择多线程或多进程,是编写高效并发程序的关键。 GIL(全局解释器锁) GIL是CPython解释器中的一个互斥锁,确保同一时刻只有一个线程执行Python字节码: python import threading i...

⏱ 2m Python并发GIL

正则表达式进阶

正则表达式进阶 本文将深入探讨正则表达式的高级特性,包括编译优化、复杂替换操作以及贪婪与非贪婪模式的使用。 编译正则表达式 当同一个模式需要多次使用时,先编译可以提高性能: python import re 编译正则表达式 emailpattern = re.compile(r'[\w.+-]+@[...

⏱ 2m Python正则表达式re模块

正则表达式

正则表达式 正则表达式是用于匹配字符串的强大工具。Python的 re 模块提供了完整的正则表达式支持,是文本处理的利器。 基本匹配 python import re text = "Hello, my email is user@example.com" 搜索匹配 match = re.searc...

⏱ 2m Python正则表达式re模块

迭代器协议深入

迭代器协议深入 迭代器是Python中实现序列访问的核心机制。理解迭代器协议能让你创建自定义的数据结构,并充分利用 itertools 模块的强大功能。 迭代器协议 Python的迭代器协议包含两个方法: - iter():返回迭代器对象本身 - next():返回下一个元素,没有更多元素时抛出 S...

⏱ 2m Python迭代器itertools

生成器深入

生成器深入 生成器是Python中一种特殊的迭代器,它使用 yield 关键字返回值,而不是 return。生成器的核心优势在于惰性求值——只在需要时才计算下一个值,极大地节省内存。 yield 的基本用法 python def countdown(n): """倒计时生成器"""...

⏱ 2m Python生成器yield

装饰器详解

装饰器详解 装饰器是Python中最强大的语法特性之一,它允许你在不修改原函数代码的情况下,为函数添加额外的功能。装饰器本质上是一个高阶函数,接受一个函数作为参数,返回一个新函数。 基本装饰器 装饰器使用 @ 语法糖,将一个函数应用到另一个函数上: python import functools d...

⏱ 2m Python装饰器高阶函数

functools模块

functools模块概述 functools模块提供了用于处理函数的高阶操作,是函数式编程的重要工具。 lrucache - 缓存装饰器 lrucache是一个装饰器,用于缓存函数的返回结果,提高性能。 python from functools import lrucache 基本用法 @lru...

⏱ 4m Pythonfunctools函数式编程

itertools模块

itertools模块概述 itertools模块提供了用于操作迭代器的函数集合,可以高效地处理数据序列。 chain - 链接迭代器 chain可以将多个可迭代对象连接成一个。 python from itertools import chain 基本用法 list1 = [1, 2, 3] li...

⏱ 4m Pythonitertools迭代器

collections模块

collections模块概述 collections模块提供了高性能的容器数据类型,是Python标准库中非常实用的工具集。 Counter Counter是一个字典子类,用于计数可哈希对象。 python from collections import Counter 基本用法 text = "...

⏱ 4m Pythoncollections数据结构

日期与时间

datetime模块基础 datetime模块提供了处理日期和时间的主要类。 python from datetime import datetime, date, time 获取当前时间 now = datetime.now() print(f"当前时间: {now}") 输出: 当前时间: 20...

⏱ 3m Pythondatetime时间处理

编码与解码

编码基础 编码是将字符转换为字节的过程,解码是将字节转换为字符的过程。Python 3中字符串默认使用Unicode编码。 python 字符串和字节的区别 text = "Hello, 你好" print(type(text)) # 输出: <class 'str'> 编码为字节 bytesda...

⏱ 2m Python编码UTF-8

数据类

什么是数据类 Python 3.7引入了dataclass装饰器,用于自动创建init、repr、eq等特殊方法,简化类的定义。 python from dataclasses import dataclass @dataclass class Person: name: str a...

⏱ 3m Pythondataclass数据类

类型注解与提示

类型注解基础 Python 3.5引入了类型注解(Type Hints),允许你在代码中指定变量和函数的类型。这有助于代码可读性和IDE支持。 python 基本类型注解 name: str = "Alice" age: int = 25 height: float = 1.68 isstudent...

⏱ 3m Python类型提示typing

字符串格式化进阶

字符串格式化概述 Python提供了多种字符串格式化方法,每种都有其适用场景。了解它们的区别和用法对于编写清晰、高效的代码非常重要。 百分号格式化(%) 这是Python最早的格式化方式,类似于C语言的printf。 python 基本用法 name = "Alice" age = 25 print...

⏱ 2m Python字符串格式化f-string

错误处理进阶

异常链(Exception Chaining) Python允许将一个异常链接到另一个异常,这对于保持错误追踪和调试信息非常有用。 python raise from 语法 try: result = 10 / 0 except ZeroDivisionError as e: rai...

⏱ 2m Python异常处理上下文管理器

Lambda表达式

什么是Lambda表达式 Lambda表达式是Python中创建匿名函数的一种简洁方式。它允许你用一行代码定义一个简单的函数,而不需要使用def关键字。 python 普通函数 def add(x, y): return x + y Lambda表达式 addlambda = lambda...

⏱ 3m PythonLambda函数式编程

推导式与生成器表达式

列表推导式 列表推导式是创建列表的简洁方式,它可以在一行代码中完成循环和条件判断。 python 基本语法 squares = [x2 for x in range(10)] print(squares) # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 带条件...

⏱ 3m Python推导式生成器

可迭代对象与迭代器

什么是可迭代对象 可迭代对象是实现了iter方法的对象,它可以被for循环遍历。 python 常见的可迭代对象 numbers = [1, 2, 3] # 列表 text = "Hello" # 字符串 data = (1, 2, 3)...

⏱ 2m Python迭代器可迭代对象

面向对象高级

类方法 类方法使用@classmethod装饰器定义,它接收类本身作为第一个参数,而不是实例。 python class Date: def init(self, year, month, day): self.year = year self.month =...

⏱ 2m Python类方法静态方法

面向对象继承

什么是继承 继承是面向对象编程的核心概念之一,它允许一个类(子类)基于另一个类(父类)来创建,继承父类的属性和方法。 python 父类 class Animal: def init(self, name): self.name = name def speak(se...

⏱ 2m Python继承多态

面向对象基础

什么是面向对象编程 面向对象编程(OOP)是一种编程范式,它将数据和操作数据的方法组织成对象。这种编程方式更符合人类的思维方式,便于代码的组织和复用。 python 定义一个简单的类 class Dog: def bark(self): print("汪汪!") 创建对象 m...

⏱ 2m Python面向对象

模块与包

什么是模块 模块是一个包含Python代码的文件,它可以定义函数、类和变量。使用模块可以将代码组织成可重用的单元。 python mymodule.py def greet(name): return f"你好,{name}!" PI = 3.14159 class Calculator:...

⏱ 2m Python模块

高级函数

Lambda匿名函数 Lambda是一种简洁的函数定义方式,适用于简单的单行函数。 python 普通函数 def add(x, y): return x + y Lambda表达式 addlambda = lambda x, y: x + y print(add(3, 5))...

⏱ 2m PythonLambda闭包

函数定义与调用

什么是函数 函数是一段具有特定功能的可重用代码块。通过函数,你可以将复杂的逻辑分解成小的、易于管理的部分,提高代码的可读性和可维护性。 python 定义一个简单的函数 def greet(name): return f"你好,{name}!" 调用函数 message = greet("张...

⏱ 2m Python函数参数

异常处理

什么是异常 异常是程序在执行过程中发生的错误事件,它会中断正常的程序流程。Python通过异常处理机制让你能够优雅地处理这些错误,而不是让程序崩溃。 python 没有异常处理的代码 result = 10 / 0 # 会抛出ZeroDivisionError 有异常处理的代码 try:...

⏱ 2m Python异常处理try/except

文件操作

文件操作基础 文件操作是编程中最常见的任务之一。Python提供了简洁而强大的文件操作接口,让你可以轻松地读写各种类型的文件。 python 打开文件的最基本方式 file = open('example.txt', 'r') content = file.read() file.close() 使...

⏱ 2m Python文件操作IO

集合类型

集合的创建 集合(set)是无序、不重复的元素集合,用花括号 {} 表示: python 创建集合 fruits = {"苹果", "香蕉", "橘子"} numbers = {1, 2, 3, 4, 5} 注意:空集合必须用set(),不能用{} empty = set() # 这是空集合 e...

⏱ 3m Python集合set数据结构

字典操作

字典的创建 字典(dict)是Python中的映射类型,存储键值对(key-value pairs): python 创建字典 person = { "name": "小明", "age": 25, "city": "北京" } 使用dict()构造函数 person2 =...

⏱ 3m Python字典键值对数据结构

元组与不可变序列

元组的创建 元组(tuple)是不可变的有序序列,用圆括号 () 表示: python 创建元组 colors = ("红", "绿", "蓝") numbers = (1, 2, 3, 4, 5) mixed = (1, "hello", 3.14, True) 单元素元组(注意逗号) singl...

⏱ 3m Python元组不可变序列数据结构

列表详解

列表的创建 列表是Python中最常用的数据结构,用方括号 [] 表示,元素之间用逗号分隔: python 创建列表 numbers = [1, 2, 3, 4, 5] fruits = ["苹果", "香蕉", "橘子"] mixed = [1, "hello", 3.14, True, None...

⏱ 3m Python列表列表方法数据结构

循环结构

for循环 for 循环用于遍历序列(列表、元组、字符串、字典、集合)或任何可迭代对象: python 遍历列表 fruits = ["苹果", "香蕉", "橘子"] for fruit in fruits: print(f"我喜欢吃{fruit}") 遍历字符串 for char in...

⏱ 3m Python循环for循环while循环

条件语句

if语句基础 条件语句让程序根据条件执行不同的代码块。Python使用 if、elif、else 关键字: python age = 20 if age >= 18: print("你已成年") print("可以投票了") 注意:Python使用缩进(通常4个空格)来定义代码块,而...

⏱ 2m Python条件语句if语句逻辑判断

字符串操作大全

字符串的创建 Python中字符串可以用单引号、双引号或三引号创建: python s1 = 'Hello' s2 = "World" s3 = '''这是 多行 字符串''' s4 = """这也是 多行字符串""" 转义字符 tabstr = "姓名\t年龄\t城市" # \t 制表符 ne...

⏱ 2m Python字符串字符串方法文本处理

运算符详解

算术运算符 算术运算符用于执行基本的数学运算: python a = 17 b = 5 print(a + b) # 加法: 22 print(a - b) # 减法: 12 print(a b) # 乘法: 85 print(a / b) # 除法: 3.4(总是返回浮点数) p...

⏱ 2m Python运算符算术运算逻辑运算

变量与数据类型

什么是变量 变量是程序中用于存储数据的容器。在Python中,变量不需要显式声明类型,赋值时自动创建。变量本质上是一个指向内存中对象的引用(名字)。 python 赋值操作创建变量 name = "小明" age = 25 height = 1.75 isstudent = True print(n...

⏱ 2m Python变量数据类型基础语法

Python简介与环境搭建

什么是Python Python是一种高级、解释型、通用的编程语言,由荷兰程序员Guido van Rossum于1991年发布。Python的设计哲学强调代码的可读性和简洁性,使用明显的缩进来定义代码块,而不是传统的花括号。 Python广泛应用于Web开发、数据分析、人工智能、自动化脚本、科学计...

⏱ 1m Python入门环境搭建初学者