关于python:Python潮流周刊7我讨厌用-asyncio

2次阅读

共计 4269 个字符,预计需要花费 11 分钟才能阅读完成。

你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,局部为英文,已在小标题注明。(题目取自其中一则分享,不代表全部内容都是该主题,特此申明。)

首发于我的博客:https://pythoncat.top/posts/2023-06-17-weekly7

🦄文章 & 教程

1、AsyncIO (英)

文章的作者厌恶 asyncio 库,认为应用 asyncawait 的设计非常蹩脚,它与大多数库不兼容,也不满足“Python 之禅”的一些规范。作者的举荐计划是 gevent,提及了它的几点益处。另外,作者还举荐了两篇相干的文章:Flask 作者 Armin Ronacher 的《I don’t understand Python’s Asyncio》,SQLAlchemy 作者 Mike Bayer 的《Asynchronous Python and Databases》

2、gevent 到底是什么?(英)

gevent 是一个基于协程的合作式多任务 Python 框架,应用猴子补丁来协调所有代码。这篇文章是一个系列的第一篇,介绍了 gevent 的根本实现原理,第二篇是《Gevent Correctness》,第三篇是《Gevent Performance》

3、ReactPy 的入门教程 (英)

上期周刊举荐过的 ReactPy 最近很火,它反对用 Python 写 React 格调的前端利用。这里是一篇简略的入门教程。另外,倡议感兴趣的同学去看官网文档。

4、Python 业务框架循环依赖和全局上下文的一些思考

如何简略而优雅地解决 Python 的循环依赖问题呢?作者考查了支流 API 框架(Django、Flask、FastAPI)的上下文治理计划,而后介绍了本人框架采纳的计划:借鉴了 Ray 社区中对象所有权的概念,在一个协程上实现一个繁难的所有权字典。

5、Python 函数调用的理论依赖关系跟踪 (英)

跟踪 Python 函数调用时拜访的代码和数据是一种很有用的操作,比方绘制依赖图、调试和剖析性能、缓存生效。这篇文章考查了一种可能的实现形式,蕴含了一个少于 100 行代码的最小可行实现。作者是 MIT 的计算机科学博士。

6、Python 3.x 从根底到实战 – typing 类型提醒

这是一篇入门教程,通过简短的示例,介绍了 Python Typing 模块的根底用法和进阶用法。

7、wxPython 入门教程 (英)

wxPython 是跨平台的图形用户界面框架,基于 wxWidgets 库开发,在 1998 年公布。它最新倒退到了 4.x 版本,这篇文章基于最新的个性作了具体的入门介绍。

8、Python 装璜器的用法领导

一篇很认真的文章,介绍了装璜器的基本概念和进阶用法。在示例局部介绍了 Django 的几个很罕用的装璜器(@login_required@permission_required@csrf_exempt@cache_page)。

9、在过程间共享 Numpy 数组的 7 种形式 (英)

多过程编程时最麻烦的事件之一就是共享数据,这篇文章介绍了 7 种共享 Numpy 数组的形式:传递参数、应用全局变量、应用队列 Queue、应用管道 Pipe、应用基于 ctypes 的 RawArray、应用 Python 3.8 的 SharedMemory、应用多过程的管理器。这是一篇系统性的长文,外面还援用了作者的一些相干文章,非常举荐浏览。

10、在 Python 中作工夫序列剖析的工具 (英)

工夫序列数据(Time-Series Data)是指在不同工夫点上收集的数据,这篇文章介绍了在 Python 中剖析工夫序列数据的工具,包含罕用的 NumPy、pandas 和 Matplotlib,以及 Tsfresh、Sktime、AutoTS、Prophet、Timescale 等。

11、如何疾速解决缺失的数据 (英)

在数据分析和机器学习畛域,须要尽量确保数据集的完整性和准确性,因而解决缺失值是必不可少的环节。文章先介绍了数据缺失的起因和模式(齐全随机失落、随机失落和不随机失落),而后介绍了解决缺失值的罕用办法:删除、填充、插补。

12、Cython 与 CPython:比照性能差别 (英)

这篇文章用 10 个不同的基准作性能比拟,涵盖了多种场景及边缘状况,包含斐波那契数列、斐波那契数列(迭代)、矩阵乘法、质数生成、字符串拼接、计算均值、计算均值(未优化)、算术运算、文件操作、线性搜寻、冒泡排序。猜猜最初的论断是什么呢?

13、应用 FastAPI 进行流式解决 (英)

服务器推送事件(Server-Sent Events)是一种基于 HTTP 的单向通信协议,容许服务器向客户端实时推送数据。这篇文章解释了如何应用 FastAPI 实现流式解决 JSON 事件。文章出自“FastAPI Pro 系列”,另外两篇文章对于如何应用动静配置、如何加密爱护 API。

14、20 道对于 FastAPI 中间件的面试题 (英)

中间件(middleware)是 FastAPI 中的一种机制,容许在 HTTP 申请和响应达到路由处理程序之前拦挡和批改它们。文章蕴含 20 个与中间件、身份验证和受权相干的面试题。

15、CPython 增加返回常量指令 (英)

上期周刊引发了“国内 Python 贡献者数量”的话题,@yihong0618 在推特上留言分享了 @penguin-wwy 给 CPython 提交的这个奉献。该作者发现 LOADCONST + RETURNVALUE 高频呈现在 pystats 文档中,因而提交了一个新的 RETURN_CONST 指令,此项奉献在 Python 3.12 基准测试中取得约 10% 的性能晋升。

🎁Python 潮流周刊🎁已收费公布了 7 期,扫描下方二维码,即可查看全部内容:

🐿️我的项目 & 资源

1、argcomplete:命令行主动补全库 (英)

在应用 Python 命令或者命令行工具时,一个痛点是没有补全。应用 argcomplete 后,按 tab 键就能够主动补全。它须要与 argparse 模块一起应用,目前反对 bash 和 zsh 两种 shell。

2、Lawyer LLaMA:中文法律 LLaMA

这是一个系统性学习了中国的法律常识体系的大语言模型,可能正确理解民法、刑法、行政法、诉讼法等常见畛域的法律概念,可进行根底的法律咨询,涵盖婚姻、借贷、海商、刑事等。

3、CPM-Bee:百亿参数的中英文双语基座大模型

这是一个齐全开源、容许商用的百亿参数中英文基座模型,采纳 Transformer 自回归架构,在超万亿(trillion)高质量语料上进行预训练。在中文的 Zero-CLUE 评测基准上,它大幅超过其余模型,位列中文大模型第一。

4、TigerBot:多语言多任务 LLM

也是国内团队开源的大语言模型,依据 OpenAI InstructGPT 论文在公开 NLP 数据集上的主动评测,TigerBot-7B 达到 OpenAI 同样大小模型的综合体现的 96%。

5、BingAI-Client:冲破限度的 New Bing

New Bing 集成了 ChatGPT,然而在国内应用的门槛有点高!这个我的项目的客户端基于 Angular,服务端基于 FastAPI 和 EdgeGPT。在本地部署好后,运行服务端程序即可开始应用客户端。(另外举荐一个我的项目 go-proxy-bingai,是用 Vue3 和 Go 搭建的 New Bing 演示站点,国内可用,无需登录即可畅聊)

6、tabby:可自托管的 AI 编码助手 (英)

这是 GitHub Copilot 的开源 / 本地替代品,无需 DBMS 或云服务,领有 Web UI,反对生产级的 GPU。

7、pyboke:极简博客生成器

一个性能极简、代码极简、自带四种主题、反对生成 RSS 的动态博客生成器。我的项目基于 Python 3.10,次要应用的库有 arrow、click、jinja2、mistune 等。

8、gpt-engineer (英)

这是一个基于 ChatGPT4 的 AI 工程师,你只用通知它需要,而后它会问几个问题,接着生成整个我的项目代码。提供进去的演示视频十分惊艳!

9、audiocraft:音频解决和生成库 (英)

这是 FaceBook 开源的一个 PyTorch 库,有最先进的 EnCodec 音频压缩器 / 分词器,内含文本到音乐模型 MusicGen,应用了 10K 高质量音乐曲目的外部数据集,以及 ShutterStock 和 Pond5 的音乐数据。

10、PythonGUI 教程网站 (英)

Python 中有很多开发 GUI 的库,除了前文提到的 wxPython,还有 Tkinter、PyQt、PySide、Kivy 等等。这个网站上提供了很多 GUI 相干的学习材料。

11、CPython 实现原理

这是一本用 GitBook 制作的在线电子书,翻译自微软独立研究员 Anthony Shaw 的《CPython Internals》。

🐢播客 & 视频

1、pybites:定期重构的重要性 (英)

这期播客聊了对于重构的相干话题。

2、三个看似一样的列表,占用内存空间居然不一样多?

有三个看起来齐全一样的列表:[0]*3、[0,0,0]、[0 for _ in range(3)],然而应用 sys.getsizeof() 计算的内存却齐全不同。这是为什么呢?这期 B 站视频通过剖析字节码和 CPython 解释器源码,十分硬核地剖析出了根本原因,值得一看!

3、asyncio 的了解与入门,搞不明确协程?看这个视频就够了

这里响应一下本期题目及第一则内容。asyncio 仍然是最支流的异步编程库,近几年也在逐步倒退成熟,很有必要深刻学习。这是一则 B 站视频,适宜用于入门与加深了解。

🐱福利流动

不定期的福利流动,本期赠书 5 本《Excel 利用大全》,开奖工夫 6 月 22 日 (端午节)。请给 Python 猫 公众号发送数字“8007”,获取抽奖资格。

这本书由 Excel Home 团队策动,由多位微软 MVP 通力打造,全面系统地介绍了 Excel 365 & Excel 2021 的技术特点和利用办法,配合大量典型实用的案例,既能够作为初学者的入门指南,也可作为中高级用户的参考手册。

🐼对于周刊

Python 潮流周刊,由豌豆花下猫主理,精心筛选国内外的 250+ 信息源,为你筛选最值得分享的文章、教程、开源我的项目、软件工具、播客和视频、热门话题等内容。愿景:帮忙所有读者精进 Python 技术,并增长职业和副业的支出。

内容创作要花费大量的工夫和精力,如果你感觉有帮忙,请随便赞叹、买杯咖啡或在爱发电进行反对!如果你喜爱本周刊,请转发分享给其余须要的同学,让更多人能够从中受害~

订阅形式:Python 猫 (可加群)| RSS | 邮件 | Github | Telegram | Twitter

正文完
 0