你好,我是貓哥,這里記錄每周值得分享的 Python 及通用技術內容,部分為英文,已在小標題注明,(標題取自其中一則分享,不代表全部內容都是該主題,特此宣告,)
首發于我的博客:https://pythoncat.top/posts/2023-06-17-weekly7
??文章&教程
1、AsyncIO (英)
文章的作者討厭 asyncio 庫,認為使用 async 和 await 的設計十分糟糕,它與大多數庫不兼容,也不滿足“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

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555434.html
標籤:Python
上一篇:Django學習筆記
下一篇:返回列表
