你好,我是豌豆花下貓,這里記錄每周值得分享的 Python 及通用技術內容,部分為英文,已在小標題注明,(標題取自其中一則分享,不代表全部內容都是該主題,特此宣告,)
文章&教程
1、掌握Python面向物件編程的關鍵:類與物件
介紹類和物件概念,通過示例展示 Python 中的類和物件如何作業,包括定義、實體化和繼承等,文章出自《Python全景系列》,目前已更新七篇,
2、umongo + motor: 構建高效 MongoDB 應用的最佳組合
介紹如何在 Tornado 中集成 umongo 和 motor,實作用異步非阻塞的方式與 MongoDB 進行互動,文章出自《tornado 并發編程系列》,目前已更新六篇,
3、徒手使用 LangChain 搭建一個 ChatGPT PDF 知識庫
演示了如何使用 langchain 和 ChatGPT 搭建一個本地的 PDF 知識庫,文中使用了 pdfplumber 處理 PDF 檔案、使用 streamlit 繪制 UI 界面,知識庫搭建和使用流程圖如下:

4、Python 真的是靠一個 switch 來執行位元組碼的嗎?
一個流行的觀點說:CPython 有一個大switch,會根據不同的 opcode 跳到相應的 case 分支去執行位元組碼,文章提出了質疑,最后的結論是:只要 Python 啟用了 computed goto (比如在 Mac 和 Linux 上),位元組碼的執行就不依賴 switch,而這個功能在 Python 3.2 中就已是默認開啟的,
5、SQLite 的文藝復興
文章的開頭把我震驚了:“SQLite 原始碼有 15 多萬行,但測驗代碼和腳本竟有九千多萬行”!文章介紹了 SQLite 的架構,以及多個基于它的開源專案,如 Litefs、sql.js、absurd-sql、postlite、sqlite3vfshttp 等等,回答了為什么 SQLite 能在如此多領域有創新的專案出現?
6、八十行代碼實作開源的 Midjourney、Stable Diffusion “咒語”作圖工具
通過 Docker 和 80 行左右的 Python 代碼,實作一款類似 Midjourney 官方圖片決議功能 Describe 的 Prompt 工具,提供了兩個版本的工具,分別支持 CPU 和 GPU 推理使用,
7、像寫 Rust 一樣寫 Python(英文)
分享了從 Rust 中學到的一些編程習慣:使用型別提示、使用資料類代替元組或字典、使用代數資料型別、使用“newtype”、使用建構式、使用互斥鎖等,總體而言,它們并不是那些“個人喜好式”的編程風格,而是切實能提升代碼健壯性和可維護性的編程經驗,
8、一系列的 Flask 小貼士(英文)這個《Flask Tips》欄目已分享了 58 個使用 Flask 的小知識,另外其作者在最新的博文《我開發 Flask 程式時最喜歡用的庫》中,介紹了 APIFairy、Frozen-Flask、Flask-SQLAlchemy 等 10 個常用的庫,
9、Celery 的諸多問題(英文)
Celery 是一個分布式任務佇列庫,用于實作異步處理和定時任務等功能,但它有很多“問題”,這篇文章一口氣列出了 15 個,是一份避坑指南,不過,并非所有問題都有解決方案,比如說它 API 介面不夠 Pythonic、沒有型別檢查等,這些就只能“Live with it”了……
10、Python 借助 Gopy 庫實作呼叫 Go 包(英文)
作者遇到一個靜態驗證 PromQL 查詢的需求,但沒有可用的 Python 庫,文章介紹了使用 Gopy 將 Go 代碼編譯成 wheel 檔案的方法,另外也提醒幾個注意事項,比如對錯誤的處理、作業系統的兼容性問題、除錯和測驗的問題,

11、最適用于 Pandas 的檔案格式(英文)
使用 Pandas 前需要加載資料,它支持非常多種資料格式,但哪種才最合適呢?文中給出了三個衡量標準(型別支持、磁盤格式、讀寫速率),并測驗了三種資料檔案(CSV、JSON 和 Parquet),你猜最后的結論是什么呢?
12、關于 PyPI 的一系列新聞/文章(英文)
PyPI 在 3 月上線了官方博客,5 月初剛宣布獲得了 AWS 的 14.4 萬美元贊助,用于開設一個新的安全工程師職位,巧的是本周密集出現了幾件與安全相關的事情,
- 5.21,PyPI 在連續一周受到惡意軟體的侵擾后,臨時暫停了新用戶的注冊及新專案的上傳,(這有一篇文章,提到一則有相關性的新聞,這些惡意軟體可能是趁 ChatGPT 的熱點,通過竊取剪貼板內容從而劫持加密貨幣交易)
- 5.23,PyPI 宣布移除 PGP 簽名,因為近三年上傳的簽名僅有 36% 為有效的,移除這項功能有利于降低維護成本,(這有一篇文章,使用大量資料和統計圖分析了 PyPI 上糟糕的 PGP 情況)
- 5.24,PyPI 發了一篇博客,披露 PSF 收到了美國司法部的三張要求提供 PyPI 用戶資料的傳票,在律師的建議下,他們提供了司法部索要的資料,并公開了傳票的相關細節,
- 5.25,PyPI 發布《通過雙因素身份驗證保護 PyPI 帳戶》,宣布在 2023 年底前,PyPI 上的帳戶都必須啟用雙重驗證(2FA),以此提升賬戶的安全性,
- 5.26,PyPI 發布《減少 PyPI 中存盤的 IP 資料》,介紹了團隊出于不存盤用戶 IP 的目的而做的一些事情,試圖既要保護用戶的隱私,又能更好地運維管理,
專案&資源
1、CyberWaifu:使用 LLM 和 TTS 實作的聊天機器人
使用 LangChain 作為 LLM 主體框架,使用 go-cqhttp 進行 QQ 機器人部署,TTS 支持 vits、edge-tts,語言模型支持ChatGPT 和 Claude,
2、FastGPT:基于 openai 搭建的知識庫平臺
技術堆疊: NextJs + TS + ChakraUI + Mongo + Postgres,支持私有化部署,可以在線體驗,
3、jesth:更具可讀性的資料序列化格式(英文)
檔案將這種新格式與 TOML、YAML 和 JSON 分別做了對比,并詳細展示了在 Python 中的使用方法,
4、trogon:為 CLI 程式生成友好的用戶界面(英文)
命令列程式本就是無界面的,但是這對于用戶來說不夠友好,這個專案可以生成美觀的界面,用于編輯和運行命令,

5、ipyflow:用于 Jupyter 筆記本的回應式 Python 內核(英文)
可在互動式會話期間,跟蹤符號和單元格之間的資料流關系,支持的功能:顯示執行建議、支持回應式執行、語法拓展、集成了 ipywidgets,等等,
6、solara:一個純 python、React-風格的框架(英文)
solara 可使用 Reacton(純 Python 實作的 React)創建基于 ipywidget 的程式,可用在 Jupyter Notebook,也可以作為獨立的 Web 程式在 FastAPI 等框架中使用,
7、Python 3.12 的 beta 1 版本已發布(英文)
3.12 的最終版本計劃在 10 月 2 日發布,目前發布了 beta 1 版本,意味著不會再加入新功能,總體而言,這個版本更為精簡了(洗掉了很多函式、類和方法),性能方面也有很多優化,值得一提的是,這個版本雖然引入了 PEP-684(每個子解釋器的獨立 GIL),但需要等 3.13 版本實作 PEP-554(標準庫中的多解釋器)后,才真正的可用,
8、對比 Python 與 Rust 的編程習慣用法(英文)
這是一個有意思的網站,可比較不同編程語言在 300 多項習慣用法上的區別,提升學習效率,我們這里比較了 Python 和 Rust,在網站首頁可選的語言有 30 種,

播客&視頻
1、哈佛大學的 Python 編程入門課程(英文)
哈佛大學計算機科學專業的入門課程,向初學者介紹計算機科學和編程基礎,以及如何使用 Python 進行編程,目前已有 50 萬人參與學習,
2、推薦 10 個最好用的 Django 插件(英文)
這期視頻中,《Django by Example》書籍的作者推薦了 10 個 Django 插件,例如 Django Debug Toolbar、Django REST Framework、Django Channels,等等,
問題&討論
1、Windows 要支持 tar、7-zip、rar、gz 等格式啦?(英文)
來自一則匿名爆料,Windows 要利用開源專案 libarchive 實作對 rar 等格式的支持了,這會是真的么?
2、構建 API 的最佳語言——TS/JS vs. Python(英文)
從可維護性、優雅性、靈活性和開發速度的角度來看,這兩種語言的 API 開發體驗哪種更好?
贊助&支持
內容創作不易,如果你覺得有幫助,請隨意贊賞、買杯咖啡或在愛發電進行支持!如果你喜歡本周刊,請轉發分享給其他需要的同學~
另誠邀贊助者,歡迎通過私信聯系,
關于周刊
Python 潮流周刊,精心篩選國內外的 200+ 資訊源,為你挑選最值得分享的文章、教程、開源專案、軟體工具、播客和視頻、熱門話題等內容,愿景:幫助所有讀者精進 Python 技術,并增長職業和副業的收入,
訂閱方式:Python貓 | RSS | 郵件 | Github | Telegram | Twitter

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/553571.html
標籤:其他
上一篇:go語言中如何實作同步操作呢
下一篇:返回列表
