天天看點

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

作者:Python貓

你好,我是貓哥。這裡記錄每周值得分享的 Python 及通用技術内容,部分為英文,已在小标題注明。(标題取自其中一則分享,不代表全部内容都是該主題,特此聲明。)

由于這裡不支援外鍊,文中大量連結無法點選。可直達我的部落格閱讀:https://pythoncat.top/posts/2023-06-10-weekly6

文章&教程

1、CPython 貢獻日記:Python 3.12 有什麼?

文章出自群友@孫孟越,介紹了 Python 3.12 中他深度參與的幾個大更新,比如 PEP-701 定型 f-字元串的句法、PEP-688 給 Python Buffer Protocol 暴露 Python 接口、PEP-695 類型參數文法,等等。另外,他在前一篇《CPython 貢獻日記》中介紹了給開源社群做貢獻的相關知識,比如提 PR 的小技巧、提/解決 Issue 的小技巧,等等。(你也想給 Python 貢獻代碼麼?請參考:Python Developer’s Guide)

2、有哪些值得關注的 AI 工具?我們整理了這 67 個

文章介紹了目前流行的 67 個工具,包括大語言模型、搜尋引擎、辦公、内容生成、精神需求、提示詞學習等方向,它還梳理了下面這張思維導圖:

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

67個AI工具的思維導圖

3、我買了本豆瓣 9.6 分的 Python 書,發現裡面每 5 頁一個錯誤?!

文章從一本 Python 入門書籍中找出了 30 個有代表性的錯誤,并給出了“離譜程度”評分。作者批判性閱讀了那本書,同理,讀者們也應該批判性閱讀這篇文章,因為它說得也并不都對。(@TheFry 投稿)

4、Sketch of a Post-ORM (英)

通常我們使用純 SQL 或者 ORM 架構來操作資料庫,作者比較了這兩種方案,指出了它們的諸多缺陷,然後提出了一種新的技術設想。作者從 8 個方面介紹了自己的思路,包括遷移優先、聲明式遷移、跨語言移植、更好的 SQL,等等。作者還示範了一個工作流以及 Python 代碼示例。

5、Python 中運作 Shell 指令的正确做法 (英)

作者先介紹了 Python 與作業系統互動的一些常用庫,比如 pathlib、tempfile、shutil、os、subprocess 等等,最後再介紹了他最為推薦的 sh 庫的相關用法。這個庫的方法對熟悉 shell 指令的同學非常友好。

6、如何使用 async 更新 Flask 程式 (英)

文章使用 Locust 作負載測試,簡單示範了将同步的 Flask 程式修改為異步後,性能資料上的變化。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

7、提議給 Python 添加一個結構文法 (英)

核心開發者 Brett Cannon 的部落格介紹了他的思考,提議增加一個struct 關鍵字,用于更友善地建立資料類,類似于 C、Rust 與 Go 的結構文法。文中介紹了他的目标以及這個關鍵字的實作原理,目前在收集意見階段,未來不排除會提成一個 PEP。

8、類屬性和執行個體屬性是怎樣的關系?

出自《從 1 到 ∞ 精通 Python》系列,已包含 17 篇文章。作者參考了《Python 源碼剖析》的分析方法及結論,深度探析了 Python 解釋器源碼,講解 Python 重要特性的實作原理。

9、2023 年 39 個頂級 Python 架構 (英)

文章梳理介紹了 39 個用于開發及測試的 Python 架構,内容很長,介紹的範圍很全面。

10、果蔬識别系統:Python+Django+TensorFlow+卷積神經網絡算法

使用 Python 作為主語言,基于 TensorFlow 架構,通過對資料集進行訓練,得到了一個識别精度較高的模型。基于 Django 架構,開發了網頁端操作平台,支援使用者上傳圖檔作識别。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

效果圖

11、使用 Kivy 庫進行 GUI 開發 (英)

這是一篇入門教程。Kivy 是一個用于開發圖形使用者界面的庫,支援桌面的跨平台開發,也支援為移動裝置建立多點觸控的程式。

12、了解 CPU 有助于提升 Numba 和 NumPy 代碼的速度 (英)

當需要加快 NumPy 速度或減少其運作記憶體時,通常使用即時編譯器 Numba。文章針對現代 CPU 的特點來優化 代碼,将一個去除圖像中的噪點程式的耗時從 48 ms 降到了 2 ms。

13、當位元組碼咬人時:誰檢查 Python 檔案編譯後的内容? (英)

ReversingLabs 研究團隊發現了一種針對 PyPI 的新型攻擊,它使用編譯後的 Python 代碼來規避檢測——可能是第一個利用 PYC 檔案直接執行的攻擊。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

從pyc檔案中提取出的資訊

14、GPT 是如何工作的:200 行 Python 代碼實作一個極簡 GPT

這是一篇譯文,原文作者是 OpenAI 的創始成員 Andrej Karpathy。文章使用 PyTorch 實作了一個極簡 GPT,讓讀者對其内部工作機制有個直覺了解。

15、600 行 Python 代碼實作兩個 Transformer(文本分類+文本生成)

這也是一篇譯文,原文作者是阿姆斯特丹自由大學的助理教授。原文最早寫于 2019 年,那時大語言模型還沒有如今火爆。在文章末尾,作者希望 transformer 擴充到其它領域,因為它有很強的通用性。

️項目&資源

1、neodb:标記你喜歡的東西

NeoDB 是一個用 Django 寫的開源項目,也是一個聯邦宇宙書影音遊戲标注平台,可簡單了解成 Web3 的開源的豆瓣,但支援标記的内容比豆瓣多得多。(這個庫是在@laike9m 的部落格看到的。以及非常感謝他在 Twitter 上推薦了本周刊!!)

2、JupyterLab 4.0 已釋出 (英)

JupyterLab 4.0 主要的新功能有:性能更快、更新的文本編輯器、新的擴充管理器、UI 改進,等等。

3、pystack (英)

pstack 是 Linux 系統上常用的指令行工具,用于顯示一個程序的函數調用棧,可診斷程序卡死、死鎖等問題,以及分析程序的性能瓶頸。pystack 是用 Python 寫成的類 pstack 庫。值得一提的是,它竟然還可以顯示線程是否持有、是否在等待或正在釋放 GIL。

4、GPYTHON:你的專屬 Python 學習助手

這是一個基于 ChatGPT 的 Python 線上學習平台,内置了 AI 助手以及線上代碼運作子產品,允許你随時修改示例代碼,一鍵運作,一鍵查錯。(@Stanaaa 投稿)

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

5、M3E 模型

M3E 是一個中文開源的 Embedding 模型,使用千萬級 (2200w+) 的中文句對資料集進行訓練,在文本分類和文字檢索的任務上都超越了 openai-ada-002 模型。(@王宇昕投稿)

6、reactpy:Python 的 React (英)

ReactPy 是一個庫,用于在 Python 中建構使用者界面,且不使用 Javascript。它的接口類似于 ReactJS 中的元件,可供沒有 Web 開發經驗的人使用。

7、domain-admin: 域名 SSL 證書監測平台

基于 Python + Vue3.js 技術棧實作的域名和 SSL 證書監測平台,核心功能:到期自動郵件提醒。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

Domain-Admin結構圖

8、EasySpider:一個可視化爬蟲軟體

一個可視化爬蟲軟體,隻需在網頁上選擇想爬的内容,并根據提示框操作即可完成爬蟲設計和執行。也支援以指令行方式執行,可以友善地嵌入到其他系統中。這個項目源于原作者的浙江大學碩士論文,已獲得國家發明專利,相關資料可在倉庫檢視。

9、text-to-video-synthesis-colab:文本生成視訊的模型 (英)

一個開源的文本生成視訊模型,整體模型參數約 17 億,使用英文輸入。放出來的示範視訊非常驚豔。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

一些文生視訊的效果

10、segment-geospatial:使用 SAM 分割地理空間資料 (英)

SAM 即“分割任意物體模型”(Segment Anything Model),是計算機視覺領域中非常有用和先進的模型,用于需要精确識别和分割任意物體的應用場景。這個項目使用它來分割地理空間資料。

11、traceback_with_variables:Python 回溯(錯誤消息)列印變量 (英)

該項目可以在 Python 的回溯資訊中添加變量。通過記錄日志或列印彩色的變量上下文資訊,友善調試異常的原因,并顯示堆棧跟蹤中每個幀的變量值。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

錯誤堆棧資訊對比

播客&視訊

1、當你用Python3.12的時候,或許就跑了我寫的代碼呢!

視訊來自 B 站@碼農高天,他從 3 月份起,有 20 幾個 pr 已合入 Python 3.12。這期視訊詳細介紹了他做出的幾個貢獻,主要有完善 pdb 文檔、修複了幾個 bug、引入 convenience variable 特性,等等。(作者在第一次 pr 被合入後,錄了一期《我給Python修了個bug!從今天起,也算是Python開發者了?》)

2、PyCon US 2023 - YouTube (英)

今年 PyCon US 活動的視訊已經可以看了,共用 142 個視訊!PyCon 是全球性的最大的 Python 開發者會議之一,由 PSF 主辦,通常在 PyCon 活動期間會舉行“Python 語言峰會”,今年的峰會議題詳見《Python潮流周刊#4:Python 2023 語言峰會》。

Python潮流周刊#6:Python 3.12 有我貢獻的代碼!

PyCon US視訊清單

3、PyCascades - 2023 視訊 (英)

2023 年 PyCascades 活動上的視訊在上個月釋出了,有 20 幾個視訊。PyCascades 是一個專注于 Python 程式設計語言的會議,通常在北美地區舉行,每年一次。它類似于 PyCon,但是由獨立的組織者和志願者自發組織,規模更小。

贊助&支援

内容創作要花費大量的時間和精力,如果你覺得有幫助,請随意贊賞、買杯咖啡或在愛發電進行支援!如果你喜歡本周刊,請轉發分享給其他需要的同學,讓更多人可以從中受益~

誠邀贊助者,幫助本周刊免費且可持續釋出,歡迎通過私信聯系。

關于周刊

Python 潮流周刊,由豌豆花下貓主理,精心篩選國内外的 250+ 資訊源,為你挑選最值得分享的文章、教程、開源項目、軟體工具、播客和視訊、熱門話題等内容。願景:幫助所有讀者精進 Python 技術,并增長職業和副業的收入。

訂閱方式:Python貓 (可加群)| RSS | 郵件 | Github | Telegram | Twitter

由于這裡不支援外鍊,文中大量連結無法點選。可直達我的部落格閱讀:https://pythoncat.top/posts/2023-06-10-weekly6