Python 潮流周刊#27:应该如何处理程序的错误?
你好,我是貓哥。這里每周分享優質的 Python、AI 及通用技術內容,大部分為英文。本周刊開源,歡迎投稿。另有電報頻道作為副刊,補充發布更加豐富的資訊。
??產品推薦
Walles.AI 是一款適用于所有網站的瀏覽器插件,支持 GPT4 問答、ChatPDF、網頁內容解釋及翻譯、生成高質量文章、與 Notion 等工具協同、在線摘要 Youtube 視頻等。前往官網體驗:安裝地址
??文章&教程
1、將 Python 錯誤作為值:比較 Go 和 Rust 的使用模式
文章比較了兩種處理錯誤的方法:拋出錯誤和將錯誤作為返回值,并參照 Go 和 Rust 的處理模式,介紹如何在 Python 中實現將錯誤作為值返回。(附1:兩種風格的錯誤處理 分析了兩種風格的優缺點及其適用場景;附2:周刊第一期的 編程語言的四種錯誤處理方法 從語法、代碼可讀性、演變過程、運行效率角度對比了不同方案)
2、調試 Django 中的 CSRF 失敗/403 禁止錯誤
部署 Django 程序時的一個常見錯誤是 403 Forbidden ,通常由 CSRF 錯誤導致,文章介紹了導致這種錯誤的 7 種原因,并解讀 Django 源碼,詳細梳理了它們的校驗邏輯。
3、對 Python 環境和包管理工具的公正分析
Python 中的虛擬環境和包管理工具實在是太多了!但是應該如何選擇最適合自己需求的工具呢?作者全面分析了 5 個類別的 10 多款工具,希望減少用戶在抉擇上的困惑。(附:作者針對此主題的兩場演講 PyCon DE 2023 和 EuroPython 2023)
4、讓我們一起創建一個 Python 調試器
你是否好奇一個代碼調試器是如何工作的?當設置斷點后,程序觸發它時會發生什么?調試器是程序員日常必備工具之一,但極少有人知道它是如何實現的。這是一個系列教程,已更新 5 篇文章。值得一提的是,作者使用了最新的 Python 3.12 PEP-669 功能。
5、揭開 Python 3.12 的面紗:Python 世界有哪些新東西?
Python 3.12 已發布一個半月,你開始嘗鮮了么?這篇內容全面的文章重點解讀了新的幾個 PEP,讓你對這個版本有更清晰的認識。
6、Python 的哈希表指南
Python 的字典是一種“哈希表”,提供了高效靈活的數據存儲和檢索方法。文章介紹了這種數據結構及其工作原理,探討了如何用 Python 實現哈希表并解決哈希沖突。這是一個系列文章,作者還寫了堆、隊列、棧、數組等數據結構的指南。
7、運行不可信的 Python 代碼
作者想自己實現一個簡化版的不太安全的沙盒,文章介紹了它的運作方式,以及一些關鍵性問題的解決方案,即獨立的進程 + seccomp + setrlimit 。(附:如何安全運行別人上傳的Python代碼? 這篇文章的方案是使用 Docker 的 Python SDK 來構建鏡像,在 Docker 中執行代碼)
8、了解 Linux cp 命令并用 Python 編程實現
深入探討了 Linux 中 cp 命令的工作原理,然后用 Python 實現了一個基礎版本。從中可以看到高級編程語言提供的強大功能和簡單性。
9、初學者應該用 Django,而不是 Flask
作者認為 Flask 雖然簡單易用,但它可能會讓初學者忽視 Web 開發的復雜性。Django 功能全面、生態系統成熟,更適合新手學習與提升生產力。
10、PEP-733:對 Python 公共 C API 的評估
一則信息型的 PEP,用于分享 C API 的信息,包括定義 C API 的用途、利益相關者及其使用場景和要求、C API 的優勢、C API 的 9 項薄弱的問題。
11、讓我們做一個類 JSON 語法的解析器
作者出于編程樂趣的目的,定義了一組類似 JSON 的語法規則,然后使用 Python 逐一實現不同內容的提取與解析,開發了一個解析器。
12、一門編程語言應該有多大?
在作者眼中,Python 1.5 是他能完全理解的最后一個版本,而之后的版本則使得語言越來越大。語言設計時添加新功能,如何權衡取舍?作者建議學習 C 語言的例子,讓語言處于“最小進化”模式。
??PyCon China 2023??今年國內 PyCon 將于 12 月在北京、上海、成都、杭州、重慶、深圳、廣州聯動舉辦。現在購票可享 7 折優惠:詳情介紹
???項目&資源
1、CogVLM:多模態預訓練模型
一個強大的開源可視化語言模型 (VLM),CogVLM-17B 有 100 億個視覺參數和 70 億個語言參數,具有高性能,在多項跨模態基準測試中排名領先。(star 2.1K)
2、movis:用于生成與編輯視頻的庫
讓你通過 Python 代碼生成各類視頻,包括但不限于演示視頻、動態圖形、著色器藝術編碼和游戲解說視頻。支持視頻編輯、音頻剪輯、圖層轉換及添加特效等。
3、mirror:基于攝像頭內容,實時回答問題
這是一個 Web APP,可將攝像頭視頻流傳給 AI,讓它分析內容并實時回答你提出的問題。100% 本地和私有,Web UI 是用 gradio 構建,多模態 AI 模型是 Bakllava 。
4、vimGPT:使用 GPT-4V 和 Vimium 瀏覽網頁
Vimium 是一個 Chrome 插件,可讓你僅用鍵盤瀏覽網頁,借助它,可以不將瀏覽器 DOM 傳給大模型,僅用 GPT-4V 的視覺功能來瀏覽網頁。(star 1.8K)
5、twitter_user_tweet_crawler:無需調用 Twitter API,爬取用戶推文
使用 selenium 模擬瀏覽器操作,可抓取用戶推文并保存靜態資源到本地,無需調用 Twitter API。(投稿自@kaixinol)
6、RSS-OPML-to-Markdown:將 OPML 文件轉化為易讀的 Markdown 格式
經常有人分享自己 RSS 列表導出的 OPML 文件,但這難以閱讀也不宜直接拿去導入自己的閱讀器。這個項目將 RSS 源的概要和一些統計信息輸出成 markdown 表格,方便你按需訂閱。(投稿自@AboutRSS)
7、MyHeyGen:視頻翻譯工具
一個平民版視頻翻譯工具,音頻翻譯、翻譯校正、視頻唇紋合成全流程解決方案。
8、awesome-python-repo-stats:統計“awesome-python”列表中項目的信息
awesome-python 是一個擁有 187K star 超火爆的項目,收錄了大量框架、庫、軟件和資源。這個項目是對它收錄內容的統計分析,每日更新,可在線查看統計表。
9、outlines:引導式文本生成
一個用于生成神經文本的庫,可視為 transformers 庫中 generate 方法的替代品。(star 3.3K)
10、marimo:下一代 Python notebook
全新的 notebook 項目,其每個 notebook 都可作為交互式 Web 程序共享,可瀏覽數據、運行實驗、構建工具和部署應用。
11、Finance:150+ 量化金融 Python 程序
一個資源集合項目,幫助你收集、操縱和分析股市數據。(star 1.2K)
12、tacticalrmm:一個遠程監控和管理工具
一個遠程監控和管理工具,使用 Django、Vue 和 Go 構建。類似 Teamviewer 的遠程桌面控制、遠程文件傳輸、遠程執行命令和腳本、查看日志、告警管理、支持自動化。(star 2.3K)
??播客&視頻
1、CPython 的 JIT 編譯器
Guido 本周在 X 上分享了這則視頻,視頻作者介紹了他們規劃給 Python 3.13 開發一個 JIT 編譯器!(附:演講視頻的文稿)
2、The Python Show 第 21 期:Sanic - 異步 Web 框架
Sanic 是支持異步編程的 Python Web 框架,能夠快速構建和運行。這期播客的嘉賓是 Sanic 的維護者之一,話題包括 Web 框架對比、消息規范、Mayim(單向 ORM)。
本文首發于:https://pythoncat.top/posts/2023-11-18-weekly
??歡迎訂閱
- 微信公眾號:除更新周刊外,還發布其它原創作品,并轉載一些優質文章。(可加好友,可加讀者交流群)
- 博客 及 RSS:我的獨立博客,上面有歷年原創/翻譯的技術文章,以及從 2009 年以來的一些隨筆。
- Github:你可以獲取本周刊的 Markdown 源文件,做任何想做的事!
- 郵件:在 Substack 上開通的頻道,滿足你通過郵件閱讀時事通訊的訴求。
- Telegram:除了發布周刊的通知外,我將它視為一個“副刊”,補充發布更加豐富的資訊。
- Twitter:我的關注列表里有大量 Python 相關的開發者與組織的賬號。
總結
以上是生活随笔為你收集整理的Python 潮流周刊#27:应该如何处理程序的错误?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序动态生成表单来啦!你再也不需要
- 下一篇: 大白话说Python+Flask入门(二