随笔分类 -  Python

摘要:在 Python 中,协程(asyncio)、多线程(multithreading)和多进程(multiprocessing)是实现并发和并行的三种主要方式。它们各有优劣,适用于不同场景。以下是它们的比较、使用实例和适用场景。 🔄 一、概述 1. 协程(Coroutines) 基于事件循环(asy 阅读全文
posted @ 2025-06-03 22:52 iTech 阅读(192) 评论(0) 推荐(0)
摘要:以下是 Python 中被广泛使用的 高级功能,适用于构建复杂系统、提升代码效率和可读性: 1. 生成器(Generators) 用途:惰性求值(Lazy Evaluation),节省内存。 语法:使用 yield 关键字。 适用场景:处理大数据流、文件读取、无限序列等。 def fibonacci 阅读全文
posted @ 2025-06-03 22:39 iTech 阅读(109) 评论(0) 推荐(0)
摘要:global 与 nonlocal 的区别总结 特性globalnonlocal 作用域层级 全局作用域(模块级别) 外层嵌套作用域(函数内部的函数) 适用场景 修改全局变量 修改外层函数的变量(闭包) 是否影响局部变量 不影响局部变量,但会修改全局变量 不影响全局变量,但会修改外层函数的变量 能否 阅读全文
posted @ 2025-06-01 18:03 iTech 阅读(25) 评论(0) 推荐(0)
摘要:以下是综合多篇文档整理的Python高级用法汇总,从语法糖到复杂特性分层呈现,重点特性附代码示例及出处引用: 一、语法糖与简洁写法(从简到繁) 变量交换 无需临时变量实现值交换: a, b = b, a # 传统方式需要temp变量 海象运算符(:=) Python 3.8+允许在表达式中赋值: i 阅读全文
posted @ 2025-04-04 11:11 iTech 阅读(336) 评论(0) 推荐(0)
摘要:以下是一个整合 FastAPI 核心安全功能与模板渲染的完整示例,基于多个技术文档的最佳实践,包含登录、CSRF、JWT、会话、认证和缓存功能: from datetime import datetime, timedelta from fastapi import FastAPI, Request 阅读全文
posted @ 2025-04-04 10:10 iTech 阅读(180) 评论(0) 推荐(0)
摘要:以下是一个整合 FastAPI 核心功能的完整示例代码,涵盖 WebSocket、后台任务、生命周期事件、中间件配置及会话管理。代码结构参考了多个技术文档的最佳实践: from contextlib import asynccontextmanager from fastapi import Fas 阅读全文
posted @ 2025-04-04 09:24 iTech 阅读(213) 评论(0) 推荐(0)
摘要:以下是当前最火的 Python 异步 Web 框架的综合对比分析,涵盖性能、技术特性和适用场景,并补充其他值得关注的框架: 一、主流异步框架横向对比 1. FastAPI • 核心优势:基于 Starlette 和 Pydantic,性能可达 5k+ QPS,支持自动生成 OpenAPI/Swagg 阅读全文
posted @ 2025-04-04 08:40 iTech 阅读(667) 评论(1) 推荐(0)
摘要:以下是2025年最流行的5个Python ASGI服务器及其核心特性与适用场景: 1. Uvicorn • 核心优势: • 基于uvloop和httptools,性能远超传统WSGI服务器,支持HTTP/1.1和WebSocket。 • 与FastAPI深度集成,开发体验极简,提供自动重载和HTTP 阅读全文
posted @ 2025-04-04 08:24 iTech 阅读(354) 评论(0) 推荐(0)
摘要:以下是 Python 环境管理工具 uv 从入门到精通的系统性指南,基于 2025 年最新版本特性整理: 一、uv 核心优势与适用场景 极速性能 • 基于 Rust 开发,依赖解析速度比传统工具快 10-100 倍(如安装 torch 等大型包仅需几秒)。 • 并发下载和智能缓存机制,减少等待时间。 阅读全文
posted @ 2025-04-03 22:44 iTech 阅读(3678) 评论(0) 推荐(0)
摘要:Python 类型检查与类型注解:mypy 与 typing 深度解析 在 Python 动态类型语言中,mypy 和 typing 是两个提升代码健壮性的核心工具。它们通过静态类型检查与类型注解,帮助开发者在编码阶段捕获潜在错误,同时提高代码可读性和可维护性。以下是它们的核心功能、用法及实践建议: 阅读全文
posted @ 2025-03-31 22:51 iTech 阅读(338) 评论(0) 推荐(0)
摘要:WSGI、Starlette、Uvicorn 与 Gunicorn 的核心介绍及使用指南 一、技术定位与核心差异 WSGI(Web Server Gateway Interface) • 定义:传统的 Python Web 服务器与框架间的同步协议,适用于 Flask、Django 等同步框架。 • 阅读全文
posted @ 2025-03-31 22:44 iTech 阅读(492) 评论(0) 推荐(0)
摘要:为什么选择 FastAPI? 高性能:基于 Starlette 和 Uvicorn,支持异步请求处理 开发效率:自动交互文档、类型提示、代码自动补全 现代标准:兼容 OpenAPI 和 JSON Schema 易扩展:模块化设计,支持中间件和依赖注入 以下是一个使用 FastAPI 最新特性 (0. 阅读全文
posted @ 2025-03-31 22:15 iTech 阅读(163) 评论(0) 推荐(0)
摘要:# typer_demo.py import typer from pathlib import Path from typing import Optional from typing_extensions import Annotated app = typer.Typer(rich_marku 阅读全文
posted @ 2025-03-31 21:49 iTech 阅读(48) 评论(0) 推荐(0)
摘要:下载8000首儿歌的python的代码:#-*- coding: UTF-8 -*-from pyquery import PyQuery as pyfrom lxml import etreeimport urllibimport reimport osimport sysimport loggingdef format(filename): tuple=(' ','’','\'') for char in tuple: if (filename.find(char)!=-1): filename=filename.replace(ch 阅读全文
posted @ 2013-12-29 16:15 iTech 阅读(2809) 评论(2) 推荐(1)
摘要:下载安装python2.7 : 最好是安装win32的,64bit的很多的lib都不支持。python-2.7.3http://python.org/getit/releases/2.7.3/下载安装ez_setup.py: setuptools-0.6c11.win32-py2.7http://pypi.python.org/pypi/setuptools下载安装pip: python setup.py installhttp://pypi.python.org/pypi/pip/1.2.1下载安装Django:python setup.py installhttps://www.djang 阅读全文
posted @ 2013-01-27 21:03 iTech 阅读(983) 评论(0) 推荐(0)
摘要:一 sqlite 与 python 的类型对应二 实例importsqlite3defsqlite_basic():#Connecttodbconn=sqlite3.connect('test.db')#createcursorc=conn.cursor()#Createtablec.execute('''createtableifnotexistsstocks(datetext,transtext,symboltext,qtyreal,pricereal)''')#Insertarowofdatac.execute('& 阅读全文
posted @ 2012-06-24 09:58 iTech 阅读(1270) 评论(1) 推荐(0)
摘要:一 Jsonhttp://json.org/json语法:1) string:value 可以看做是json的最小单位,json由string:value的集合组成,其中value中可以嵌套string:value;2) string为双引号包围的unicode字符串,特殊符号需要\来转义;3) value可以为string:value,array,string,number,true,false,null;一个实例:{"firstName":"John","lastName" :"Smith","adr 阅读全文
posted @ 2012-06-19 12:50 iTech 阅读(1753) 评论(0) 推荐(0)
摘要:一 base64Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。编码后的数据比原始数据略长,为原来的4/3。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据(或不可打印的字符串)。包括MIME的email,email via MIME, 在 阅读全文
posted @ 2012-06-18 10:00 iTech 阅读(2529) 评论(0) 推荐(0)
摘要:http://hyperpolyglot.org/scripting比较perl+pythonperl(1987)python(1991)基础模块导入usestrict;importos, re, sys版本查看$ perl-v$ python -V执行脚本$ perl foo.pl$ python foo.py交互模式$ perl -de 0$ python执行语句$ perl -e 'print("hi\n")'$ python -c "print('hi')"语句分隔;\n (newline)or;语句块{}Inde 阅读全文
posted @ 2012-04-28 13:03 iTech 阅读(6230) 评论(3) 推荐(1)
摘要:经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如:修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi修改后:Mac OS X for Unix Geeks.mobipython代码如下importosimportredefrename_dir(dir,regex,f):ifnotos.path.isdir(dir)ornotos.path.exists(dir):print("Theinputisnotonedirectoryor 阅读全文
posted @ 2012-04-22 10:06 iTech 阅读(2125) 评论(1) 推荐(0)