剪貼板是個啥就不用多介紹了,最直觀的功能是實現應用程式之間數據共用。就是咱們常說的“複製”、“粘貼”功能。 在 Qt 中,QClipboard 類提供了相關 API 讓應用程式具備讀/寫剪貼板的能力。數據通過 QMimeData 類包裝。該類使用 MIME 類型來標識數據。比如,要包裝的數據是純文本 ...
這裡記錄每周值得分享的 Python 及通用技術內容,部分內容為英文,已在小標題註明。(本期標題取自其中一則分享,不代表全部內容都是該主題,特此聲明。)
文章&教程
文章討論了編程中處理錯誤的四種常見方法:返回錯誤代碼(C、Go)、異常(Java、C#、Python、C++)、回調函數(JavaScript)和 Result 對象(Haskell、Rust、Kotlin)。對每種方法進行了分析,介紹了它們的優缺點以及使用時需要註意的地方。
2、深入理解 Python 虛擬機:描述器實現原理與源碼分析
文章介紹了描述器的實現原理,分析了 CPython 源碼中描述器相關的位元組碼指令,並使用 Python 代碼解釋了描述器的執行邏輯。文章出自 Github 上的《深入理解 Python 虛擬機系列》,該系列已含 20+ 文章。
最近 AI 孫燕姿太火了!文章基於 Python3.10 和開源庫 so-vits-svc(高表現力的語音合成模型)、Spleeter(人聲和伴奏分離)和 FFMPEG(聲音與伴奏合併),手把手演示了讓 AI 孫燕姿演唱歌曲。(PS.由於擔心侵權風險,so-vits-svc 項目已經歸檔了)
文章介紹了 Python 的 C 語言 API 相關特性,最後實現了一個模仿官方 datetime
的 C 擴展模塊。文章出自《Python 之 C 語言 API 系列教程》的第一篇,該系列目前已更新兩篇。
這是一個系列文章,目前包含 31 篇文章,最近介紹的幾個工具是資料庫相關的:Neo4j(一個 NoSQL 圖資料庫,使用 Py2neo 操作)、PostgreSQL(一個關係型資料庫,使用 Psycopg2 操作)、MongoDB、Access、ClickHouse、Redis 等。
6、PEP-713:可調用的模塊(英文)
Łukasz Langa 發起的新提案,提議支持在模塊的全局命名空間中定義一個__call__對象以使模塊可直接調用,__call__對象可以是一個標準函數或任意可調用對象。提案目前是草稿狀態,未採納。
7、“Externally managed environments”:當 PEP-668 影響了 pip(英文)
在較新 Linux 系統上使用 pip install 時可能遇到“externally managed environment”錯誤。原因:Linux 發行版已預裝某些 Python 包,pip install 可能導致系統包衝突。解決方法:開發時用虛擬環境;Docker 里不用系統 Python;需最新工具時用 pipx。Python 包管理較為痛苦,短時間內難以改善。
8、Bevy v2.0:Python 的依賴註入框架(英文)
Bevy v2.0 是一個強大的依賴註入框架,可以幫助簡化 Python 應用程式的管理。文章介紹了三種解決依賴關係的方法:全局變數、參數傳遞和依賴註入。Bevy v2.0 使用的方法包括參數註入、屬性註入、倉庫和依賴構造函數等。
項目&代碼
最近幾個月,乘著人工智慧的東風,Github 上天天都被 AI 相關的項目屠榜,相信讀者們已經從各種渠道看到過那些知名的以 Python 為主的開源項目了。因此,為了不撞車,本周刊主要收錄一些小而美的項目。本期以中文開發者的項目為主。
一個“有生命的”語音助手 Python 項目,支持與前端通信、語音識別、chatGPT 接入和語音合成。前端部分可渲染人物動畫、錄音和播放聲音。
具有以下特點:使用 top1 檢索替換輸入源特征為訓練集特征來杜絕音色泄漏;即便在相對較差的顯卡上也能快速訓練;使用少量數據進行訓練也能得到較好結果(推薦至少收集 10 分鐘低底噪語音數據);可以通過模型融合來改變音色(藉助 ckpt 處理選項卡中的 ckpt-merge);簡單易用的網頁界面;可調用 UVR5 模型來快速分離人聲和伴奏。
一個可以將電子書翻譯成指定語言(原文譯文對照)的 Calibre 插件。支持多種翻譯引擎,包括 Google 翻譯、ChatGPT 以及 DeepL。支持所有 Calibre 所支持的電子書格式(輸入格式 48 種,輸出格式 20 種)。支持批量翻譯、支持緩存續譯、提供大量自定義設置。
一個完全重寫的超輕量級 Python 引擎,零依賴,零配置,可以在 Flash ≤ 64KB,RAM≤ 4KB 的平臺下運行,極易部署和擴展,具有大量的中文文檔和視頻資料。
播客&視頻
1、硬地駭客:大廠程式員構建 “小生意”,更加從容應對裁員潮
"每一位 hacker,每一位開發者,每一位程式員,都值得擁有一個屬於自己的小生意”。這檔播客已發佈了幾期關於獨立開發者的話題,對作為程式員的我們,在技術、產品、創業等方面會有所啟發。
2、Talk Python To Me #414:漫步創業之路(英文)
在 4 月的 PyCon 上,有一個專門展示新型 Python 創業公司的展台,叫做 Startup Row。在這期節目中,主播與這些公司的創始人分別聊了 5-10 分鐘,這期節目同時包含了播客和視頻。
3、PythonBytes #335:應該開始用 mojo 了麽?(英文)
Mojo 是 LLVM 及 Swift 之父新開發的 AI 編程語言,號稱比 Python 快 35000 倍。Mojo 已支持 Python 的許多核心特性,包括 async/await、錯誤處理、可變參數等等,但是它仍然處於早期階段,缺少許多功能,比如還不支持類!
4、ChatGPT提示工程師|AI大神吳恩達教你寫提示詞(英文)
鼎鼎大名的吳恩達聯合 OpenAI,推出了一個面向開發者的 ChatGPT 提示詞課程。這是 B 站上的鏈接,配有雙語字幕。
問題&討論
知乎上的一個熱門問題,已有 7.4 萬人關註和 1200+ 回答。
2、[吐槽] conda 真是太難用了! 如何優雅地管理 Python 環境?
v2ex 上的一個帖子,吐槽使用 Conda 遇到了各種問題,包括安裝後找不到命令、安裝依賴卡住不動、影響系統更新等等。
3、允許在 for 迴圈的迴圈頭中使用推導式語法(英文)
這個帖子提出了一個想法:讓 Python 的 for 迴圈支持推導式語法“for i in x if i % 2 == 0:”。
贊助&支持
內容創作不易,如果你覺得有幫助,請隨意贊賞,或在愛發電進行支持!
另誠邀廣告主,歡迎通過私信聯繫。
關於周刊
Python 潮流周刊,精心篩選國內外的 200+ 信息源,為你挑選最值得分享的文章、教程、開源項目、軟體工具、播客和視頻、熱門話題等內容。願景:幫助所有讀者精進 Python 技術,並增長職業和副業的收入。