Python猫 2024年07月09日
Python 潮流周刊#32:打造个人的新闻聚合阅读器
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本期 Python 潮流周刊分享了关于并行程序、Python 包管理、CPython 私有 C API 函数、Python 列表复制、Asyncio 任务取消、Python 项目配置、优化 Flask、Django 和 FastAPI 程序、Python 三元运算符、Python 数据类等技术内容。此外,还推荐了多个实用项目和资源,包括新闻聚合阅读器 feedi、生成式 AI 开发工具 generative-ai-python、SQL 注入和渗透测试工具 sqlmap、TikTok 数据采集工具 TikTokDownloader、视觉指导微调项目 Osprey、Django 和 Wagtail 博客/播客项目 django-cast、Hexo 博客编辑器 Qexo、基于项目的教程列表 project-based-learning、音频生成工具包 Amphion 等。

🤔**并行程序中的 CPU 使用**:文章探讨了在 CPU 密集型任务中,如何根据 CPU 核心数设置线程/进程池的大小,并解释了物理 CPU 和逻辑 CPU 的区别。同时,文章还介绍了如何测试设置多少 CPU 数比较合适。

📦**Python 包管理**:文章介绍了 Python 查找包的顺序、包的安装方式、虚拟环境的作用以及脚本运行方式对搜索路径的影响。

🚫**CPython 私有 C API 函数**:文章记录了 Python 核心开发者 Victor Stinner 在 Python 3.13 alpha 版本中删除和恢复私有 C API 函数的过程,以及社区中的反馈。

📑**Python 列表复制**:文章介绍了如何给 list 这种可变对象创建副本,包括一维列表的三种复制方法和二维列表的浅拷贝与深拷贝问题。

⏳**Asyncio 任务取消**:文章介绍了 Asyncio 任务的两种取消方式,并给出了 6 项最佳实践和相应的示例。

⚙️**Python 项目配置**:文章探讨了 Python 项目中配置管理的最佳实践,介绍了使用 ini、json、toml、yaml 等文件和环境变量的方式,以及配置初始化和测试时的修改技巧。

🚀**优化 Flask、Django 和 FastAPI 程序**:文章介绍了配置 Web 服务器的最佳实践,包括 Gunicorn、Uvicorn 和 Hypercorn 的使用,以及针对 ASGI 和 WSGI 标准接口的差异,如何设置 worker 数和线程数,如何使用 Locust 等工具进行测试,不同 Web 开发框架的最佳方案。

❓**Python、Go 和 Rust 三元运算符**:文章探讨了 Python、Go 和 Rust 不支持三元运算符的原因,并梳理了 Python 语法设计的故事,以及 Go 和 Rust 的设计理念。

🔑**Python 中的“key”参数**:文章介绍了 sorted()、list.sort()、max()、min() 等函数中“key”参数的用法。

🧬**Python 数据类**:文章建议定义不可变的数据类,并探讨了数据类中变更属性的操作和手写实现__repr__ 等方法的必要性。

📰**新闻聚合阅读器 feedi**:feedi 是一个个人定制化的内容阅读器,支持解析 RSS 源、拉取 Mastodon 消息、阅读标记、本地文章阅读和预览,支持发送到 Kindle。

🤖**生成式 AI 开发工具 generative-ai-python**:generative-ai-python 是 Google 推出的生成式 AI 开发工具,可快速基于 Gemini 和 PaLM 大模型开发 AI 应用。

🛡️**SQL 注入和渗透测试工具 sqlmap**:sqlmap 是一款强大的 SQL 注入检测和利用工具,可入侵数据库,具有强大的检测引擎、数据库指纹识别、数据查询、文件系统访问、命令执行等功能。

🎬**TikTok 数据采集工具 TikTokDownloader**:TikTokDownloader 是一款基于 Requests 模块的 TikTok 和抖音数据采集工具,支持命令行模式、Web UI 模式和接口调用模式。

🖼️**视觉指导微调项目 Osprey**:Osprey 是一个通过视觉指导微调实现对像素理解的项目,它可以根据演示效果来学习图像的生成和理解。

✍️**Django 和 Wagtail 博客/播客项目 django-cast**:django-cast 基于 Django 和 Wagtail,可快速搭建个人博客和播客网站,支持播放播客和视频、评论和垃圾邮件过滤,可自定义网站主题。

💻**Hexo 博客编辑器 Qexo**:Qexo 是一个 Hexo 博客后台管理工具,支持自定义图床上传图片、在线页面管理、开放 API、一键更新、快速接入友情链接。

📚**基于项目的教程列表 project-based-learning**:project-based-learning 收集了大量实战项目类的教程,涵盖了多种编程语言和技术领域。

🎶**音频生成工具包 Amphion**:Amphion 是一个用于音频、音乐和语音生成的工具包,支持 TTS 文本转语音、SVC 歌声转换、TTA 文本到音频等功能。

📺**PyConChina 2023 演讲视频**:部分 PyConChina 2023 活动视频已发布在 B 站上。

🎙️**PyCoder’s Weekly 2023 年总结**:PyCoder’s Weekly 播客分享了 2023 年的一些总结性话题,包括点击量前 5 的链接、重要新闻、重要主题和趋势、有意思的项目等。

🌐**Requests vs Httpx vs Aiohttp**:视频比较了使用 requests、httpx 和 aiohttp 的情况,讨论了异步请求的使用。

🎁**Python 潮流周刊订阅**:Python 潮流周刊已持续连载一年,更新内容接近 11 万字。欢迎订阅付费专栏:https://xiaobot.net/p/python_weekly

你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿。另有电报频道作为副刊,补充发布更加丰富的资讯。

?文章&教程

1、在并行程序中实际最多能用多少个 CPU?
在 CPU 密集型任务中,通常要根据 CPU 核心数来设置线程/进程池的大小。但如何确定实际用多少个 CPU 最合适呢?物理 CPU 和逻辑 CPU 是什么?如何测试设置多少 CPU 数比较合适?
2、你的 Python 包都装到哪了?
Python 新手经常会遇到包相关的问题,主要原因之一是不清楚 Python 是如何找包的。文章介绍了 Python 查找包的顺序、它是如何安装包的、虚拟环境的作用、脚本运行方式对搜索路径的影响等。
3、移除 CPython 中的私有 C API 函数
Victor Stinner 是很活跃的核心开发者,他在 Python 3.13 alpha 1 中删除了 300 多个私有 C API 函数,收到了一些负面反馈,在 alpha 2 版本中又恢复了 50 个函数。文章记录他所做的事情,以及社区中大家的反馈。
4、Python 小陷阱:复制列表时的问题
如何给 list 这种可变对象创建副本?对于一维列表,文章介绍了三种方法;但是对于二维列表,就涉及浅拷贝与深拷贝问题,需要使用 copy.deepcopy() 。(附注:作者的“Python Gotcha ”系列短文,介绍了 Python 的一些使用注意事项。)
5、取消 Asyncio 任务的最佳实践
Asyncio 任务有手工取消和自动取消,文章介绍了 6 项最佳实践,给出了相应的示例。
6、Python 项目中的配置:没有魔法,只是必要的实践
我们通常将可变或敏感的参数放到配置文件中,可以使用哪些方式呢?有 ini、json、toml、yaml 等文件,也有环境变量等方式。在什么时候做配置的初始化呢?测试时如何修改配置呢?文章分享了一些使用技巧。
7、优化 Python 的 Flask、Django 和 FastAPI 程序
文章介绍了一些配置 Web 服务器的最佳实践(涉及 Gunicorn、Uvicorn 和 Hypercorn)。针对 ASGI 和 WSGI 两类标准接口的差异,如何设置 worker 数和线程数,如何使用 Locust 等工具来作测试,不同 Web 开发框架该用什么方案?
8、为什么 Python、Go 和 Rust 都不支持三元运算符?
Python 不支持三元运算符,但它有一个很特殊的条件选择语法 ,为什么会这样设计呢?文章梳理了 Python 波折的语法设计故事,同时介绍了 Go 和 Rust 不谋而合的做法,让人思考什么才是编程语言中更好的语法设计?
9、Python 中的“key”参数的关键
你也许在 sorted() 和 list.sort() 函数中看到过“key”参数,除此之外,还有很多函数带有这个参数,比如 max() 和 min(),文章介绍了相关函数中对这个参数的用法
10、从 Python 数据类中消除状态突变方法
Python 中可以使用@dataclass 装饰器来定义数据类,它会自动添加 __init____repr____eq__ 等魔术方法,减少代码量。作者建议定义不可变的数据类,不用将它像普通类一样作变更属性的操作,如果在普通类中要用__repr__ 等方法,建议是手写实现。
?Python潮流周刊?每 30 期为一季,第一季的精华内容已整理成一篇,方便你随时查看。在线访问地址:Python 潮流周刊第一季精华合集(1~30)

?️项目&资源

1、feedi:打造个人的新闻聚合阅读器
想不想拥有个人定制化的内容阅读器?它支持解析 RSS 源、拉取 Mastodon 消息、阅读标记、本地文章阅读和预览、支持发送到 Kindle。(附:作者为什么以及如何开发这个项目 Reclaiming the Web with a Personal Reader
2、generative-ai-python:用 Google AI SDK,开发 Gemini 和 PaLM 应用
Google 推出的生成式 AI 开发工具,可快速基于 Gemini 和 PaLM 大模型开发 AI 应用。支持文本生成、多轮对话、嵌入等。
3、python-guide-for-javascript-engineers:开源电子书《JavaScript工程师的Python指南》
一本基于 abook 编写的开源电子书,涵盖了从 Python 环境安装到项目开发的方方面面。通过大量案例对比 JavaScript 和 Python 语言的异同,帮助 JavaScript 工程师快速掌握 Python 语言。(投稿自@luckrnx09
4、sqlmap:SQL 注入和渗透测试工具
可自动检测和利用 SQL 注入缺陷而入侵数据库。具有强大的检测引擎、数据库指纹识别、从数据库查询数据、访问底层文件系统、在操作系统上执行命令等。(star 29.4K)
5、TikTokDownloader: TikTok 和抖音数据采集工具
基于 Requests 模块实现的数据采集工具,功能非常齐全!支持命令行模式、Web UI 模式和接口调用模式。(star 1.5K)(附:第 25 期分享过作者的小红书采集工具 XHS_Downloader
6、Osprey:通过视觉指导微调实现对像素的理解
这是一个靠演示效果把我惊艳到的项目!直接看下方的演示图吧:
7、django-cast:基于 Django 和 Wagtail 的博客/播客项目
使用 Django 快速搭建个人博客和播客网站,Wagtail 作为 CMS 可方便管理文章和播客节目。支持播放播客和视频,支持评论和垃圾邮件过滤,可自定义网站主题。
8、Qexo:快速、强大且漂亮的 Hexo 编辑器
Hexo 博客后台管理,自定义图床上传图片、在线页面管理、开放 API、一键更新、快速接入友情链接。(star 1.2K)
9、project-based-learning:精选的基于项目的教程列表
星星数超多的资源收集类项目,分不同编程语言和技术领域,收集了很多实战项目类的教程。(star 142K)
10、Amphion:用于音频、音乐和语音生成的工具包
它的目标是提供一个平台来研究将任意输入转换为音频。已支持 TTS 文本转语音、SVC 歌声转换、TTA 文本到音频,支持广泛使用的神经声码器。(star 2.2K)

?播客&视频

1、PyConChina 2023 的演讲视频
今年 PyConChina 活动的一部分视频已发布了,可在 B 站上观看。
2、Episode #184:PyCoder’s Weekly 的 2023 年总结
PyCoder’s Weekly 是我长期在看的周刊,这期播客聊了它的一些总结性话题,比如点击量前 5 的链接、今年一些重要的新闻、今年的重要主题和趋势、有意思的项目,等等。
3、Requests vs Httpx vs Aiohttp 该选哪一个呢?
视频比较了使用 requests、httpx 和 aiohttp 的情况,讨论了异步请求的使用等话题。

?欢迎订阅

本周刊已持续连载一年,更新内容接近 11 万字。希望周刊能成为你高质量的信息筛选器,成为你开阔视野的一扇明窗。目前已开通付费专栏,欢迎你来订阅:https://xiaobot.net/p/python_weekly

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Python 编程 技术周刊 人工智能 深度学习 数据科学 Web 开发 软件开发 资源推荐
相关文章