你好,我是貓哥。這里每周分享優(yōu)質(zhì)的 Python、AI 及通用技術(shù)內(nèi)容,大部分為英文。標(biāo)題取自其中一則分享,不代表全部內(nèi)容都是該主題,特此聲明。
本周刊由 Python貓 出品,精心篩選國內(nèi)外的 250+ 信息源,為你挑選最值得分享的文章、教程、開源項(xiàng)目、軟件工具、播客和視頻、熱門話題等內(nèi)容。愿景:幫助所有讀者精進(jìn) Python 技術(shù),并增長職業(yè)和副業(yè)的收入。
微信 | 博客 | 郵件 | Github | Telegram | Twitter
本周刊歸檔在 Github 上,已收獲 800+ star 好評,如果對你有幫助,請給顆 star 支持一下吧:https://github.com/chinesehuazhou/python-weekly
??文章&教程
1、Ruff:一款極其快、兼容 Black 的 Python 格式化工具
我在今年 4 月份介紹過 性能最快的代碼分析工具 Ruff,當(dāng)時(shí)發(fā)現(xiàn)它不局限于 Linter 的定位,還提供了部分 Formatter 的功能?,F(xiàn)在,它發(fā)布了重大更新,正式成為性能最快的 Python 代碼格式化工具,比 Black 快 30 倍以上,比 YAPF 快 100 倍!
2、你應(yīng)該什么時(shí)候升級到 Python 3.12?
Python 3.12 已經(jīng)發(fā)布了,你是否迫切想要升級了呢?現(xiàn)在是最佳的升級到 3.12 的時(shí)候么?文章建議你等到 12 月,等發(fā)布 3.12.1 錯(cuò)誤修復(fù)版本后,因?yàn)樾掳姹敬嬖谶@些問題:不兼容的軟件包、缺少二進(jìn)制包、每次大版本總有大量的問題要修復(fù)。
3、Python 3.12:一個(gè)被人忽略的史詩級版本
作者認(rèn)為 3.12 對于 Python 的意義,大于 3.5 的“async/await” 和 3.6 的 “Type Hint” 對于 Python 的意義!主要分析了三個(gè)方面提升:PEP-669 帶來的可觀測性、PEP-684 為 non-GIL 帶來的性能提升、PEP-697 全新 C API 保證跨版本兼容性。
4、不要再用 requirements.txt 了
作者給了兩個(gè)建議:不要使用 pip 和 requirements.txt
來管理 Python 依賴項(xiàng),推薦使用 Poetry。pip 的主要問題是沒有 lockfile 和手工管理虛擬環(huán)境麻煩。除了 Poetry,作者也提及了 Hatch 和 PDM。
5、為什么 Django 后臺管理系統(tǒng)那么“丑陋”?
Django 提供了一個(gè)默認(rèn)的后臺管理系統(tǒng),即 Django Admin,它的 UI 很多年沒有變化,顯得設(shè)計(jì)過時(shí)了。為什么 Django 維護(hù)者們不改善它呢?作者通過詢問多位維護(hù)者,得出了它的歷史及如此設(shè)計(jì)的原因,主要觀點(diǎn)是 Django Admin 面向內(nèi)部管理員,不應(yīng)該暴露給終端用戶。
6、我遷移棄用 setup.py 的糟糕體驗(yàn)
PyOxidizer 作者的一篇長文,他在將 Python 3.12 用于另一個(gè)庫時(shí),CI 運(yùn)行python setup.py
提示 setuptools 無法導(dǎo)入。作者在尋求解決方案時(shí),發(fā)現(xiàn) Python 的打包生態(tài)非常讓人困惑,他經(jīng)歷了一系列復(fù)雜而耗時(shí)的過程。
7、使用 Ptpython 提高你的編碼效率
Ptpython 是一個(gè)功能豐富且對用戶友好的 Python REPL,這是一篇非常詳細(xì)的使用教程。重點(diǎn)介紹的功能包括歷史記錄、輸入驗(yàn)證、自動(dòng)補(bǔ)全、自動(dòng)處理縮進(jìn)、自定義交互式 shell、在腳本中嵌入 ptpython 等。
8、100%的測試覆蓋率是不夠的:Python 中基于屬性的測試
測試覆蓋率固然重要,但這項(xiàng)指標(biāo)并不足以解決所有問題。文章通過示例揭示測試覆蓋率的不足,簡單介紹了如何用 Hypothesis 作基于屬性的測試。
9、從零開始編寫一個(gè) Python 異步 ASGI Web 框架
從零開始編寫一個(gè)異步 ASGI Web 框架難么?需要了解哪些知識、實(shí)現(xiàn)哪些功能、思考哪些問題?這篇循序漸進(jìn)的教程是很好的學(xué)習(xí)材料,讓你了解 Web 框架設(shè)計(jì)、異步編程、功能封裝與項(xiàng)目管理。
10、Python 如何在日志中隱藏明文密碼?
不在日志中打印明文密碼是安全需求,但是有太多可能出現(xiàn)打印密碼的情況,如何能高效地隱藏明文密碼呢?文章介紹了基于 logging 模塊的兩種實(shí)現(xiàn)方案:自定義 filter 和自定義 formatter,使用特定規(guī)則過濾明文密碼。
11、從混沌到凝聚:構(gòu)建你自己的 Monorepo
monorepo 是將所有項(xiàng)目都放到一個(gè)代碼倉管理,可能包含不同語言和框架。這意味著對它的依賴管理和 CI/CD 等都與普通代碼倉不同。文章介紹如何使用 GitHub Actions 作為 CI/CD 工具構(gòu)建簡單的 Python monorepo。
12、Python 是一種編譯型語言
我們通常習(xí)慣將 Python 稱為一種解釋型語言,因?yàn)樗谶\(yùn)行時(shí)逐行解釋和執(zhí)行代碼。很多人還知道 Python 其實(shí)也有編譯的過程,解釋器會(huì)先編譯再執(zhí)行。然而作者不止步于此,他通過蘇格拉底式對話和幾輪實(shí)驗(yàn),引導(dǎo)讀者重新思考“解釋”與“編譯”:它們是錯(cuò)誤的二分法、限制了編程語言的可能性。Python 既是解釋型語言,也是編譯型語言!
??Python潮流周刊??已免費(fèi)發(fā)布了 25 期,訪問下方鏈接,即可查看全部內(nèi)容:https://pythoncat.top/tags/weekly
周末不休息,又更新了一期周刊,我想明天喝杯奶茶了~~
???項(xiàng)目&資源
1、ccxt:加密貨幣交易 API,支持 100 多個(gè)交易所
用于加密貨幣交易的 JavaScript/Python/PHP/C# 庫,支持許多比特幣/以太幣/山寨幣交易市場和商家 API。(star 29.5K)
2、uDjango:單文件的 Django 微型項(xiàng)目
這個(gè)項(xiàng)目是 DjangoCon US 2023 的演示項(xiàng)目,使用單文件不到 10 行代碼,演示一個(gè)最小的 Django 應(yīng)用。
3、esmerald:高度可擴(kuò)展、高性能的 Web 框架
基于 Starlette 和 Pydantic 之上構(gòu)建的開箱即用的 Web 框架,用于構(gòu)建現(xiàn)代可擴(kuò)展的 API 應(yīng)用,支持同步和異步,提供 DAO、ORM、ODM、依賴注入、權(quán)限管理等功能。
4、Python-Type-Challenges:通過在線挑戰(zhàn)來學(xué)習(xí) Python 類型提示
一個(gè)很有意思的項(xiàng)目,它包含從初級到高級的一系列挑戰(zhàn)題目,讓你在線練習(xí) type hint 的使用。
5、mify:微服務(wù)基礎(chǔ)架構(gòu),代碼生成工具
可生成 OpenAPI http 服務(wù)端,內(nèi)置 Prometheus 指標(biāo),提供結(jié)構(gòu)化日志記錄,支持多種語言代碼生成。
6、de4py:Python 逆向工程工具包
一款高級的 Python 反混淆器,面向惡意軟件分析師和逆向工程師,它擁有精美的 UI 和一些高級功能。
7、public-apis:面向開發(fā)者的公共 API 列表
非常非常豐富的公共 API 清單,內(nèi)容應(yīng)有盡有。(star 2K)
8、FunASR:端到端語音識別工具包
阿里達(dá)摩院開源的語音識別工具包,功能包括語音識別(ASR)、語音端點(diǎn)檢測(VAD)、標(biāo)點(diǎn)恢復(fù)、語言模型、說話人驗(yàn)證、說話人分離和多人對話語音識別等。(star 1.2K)
9、XHS_Downloader: 小紅書圖文/視頻作品采集工具
支持采集和下載小紅書圖文/視頻作品,支持批量下載,有作品文件完整性處理機(jī)制。
10、RSS-GPT:使用 ChatGPT 為你的 RSS 訂閱源生成摘要
使用 GitHub workflow 自動(dòng)運(yùn)行一個(gè)簡單的 Python 腳本,調(diào)用 OpenAI API 為 RSS 訂閱源生成摘要,然后將新生成的 RSS 訂閱源推送到 GitHub Pages。配置簡單快速,無需服務(wù)器。
11、codespell:檢查代碼是否存在常見拼寫錯(cuò)誤
用于檢查源代碼中拼寫錯(cuò)誤的單詞,支持多種運(yùn)行方式,可指定忽略單詞和文件,可用于 pre-commit。(star 1.5K)
12、codeshell:多語言代碼大模型基座
具有 70 億參數(shù),在五千億 Tokens 進(jìn)行了訓(xùn)練,上下文窗口長度為 8192。在權(quán)威的代碼評估Benchmark 上,CodeShell 取得同等規(guī)模最好的性能。(star 1.2K)
??贊助&支持
如果你喜歡周刊,請分享給其他需要的同學(xué),讓更多人可以從中受益~
如果你覺得周刊有價(jià)值,請隨意贊賞 或 買杯咖啡 進(jìn)行支持!
如果你想幫助周刊辦得更好,歡迎向我們投稿或提出建議:投稿/建議通道文章來源:http://www.zghlxwxcb.cn/news/detail-741785.html
如果你是品牌方或廣告主,歡迎私信我,洽談贊助與合作事項(xiàng)。文章來源地址http://www.zghlxwxcb.cn/news/detail-741785.html
??歡迎訂閱
- 微信公眾號:除更新周刊外,還發(fā)布其它原創(chuàng)作品,并轉(zhuǎn)載一些優(yōu)質(zhì)文章。(可加好友,可加讀者交流群)
- 博客 及 RSS:我的獨(dú)立博客,上面有歷年原創(chuàng)/翻譯的技術(shù)文章,以及從 2009 年以來的一些隨筆。
- Github:你可以獲取本周刊的 Markdown 源文件,做任何想做的事!
- 郵件:在 Substack 上開通的頻道,滿足你通過郵件閱讀時(shí)事通訊的訴求。
- Telegram:除了發(fā)布周刊的通知外,我將它視為一個(gè)“副刊”,補(bǔ)充發(fā)布更加豐富的資訊。
- Twitter:我的關(guān)注列表里有大量 Python 相關(guān)的開發(fā)者與組織的賬號。
到了這里,關(guān)于Python 潮流周刊#25:性能最快的代碼格式化工具 Ruff!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!