Python 潮流周刊#18:Flask、Streamlit、Polars 的學(xué)習(xí)教程
△點(diǎn)擊上方“Python貓”關(guān)注 ,回復(fù)“1”領(lǐng)取電子書

你好,我是貓哥。這里每周分享優(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è)的收入。
為了方便讀者獲取原始內(nèi)容,我已將周刊的 Markdown 文件歸檔在 Github,請通過以下鏈接獲取:https://github.com/chinesehuazhou/python-weekly
??文章&教程
1、一份深入探索 Flask 的指南[1]
由系列文章組成的 Flask 學(xué)習(xí)指南,深入了解 Flask 的內(nèi)部結(jié)構(gòu)、核心特性和功能,涵蓋主題有程序和請求上下文、Werkzeug、會話、安全(防CSRF)、測試、2.0 版本的異步等。
2、使用 PyMuPDF 識別與提取表格[2]
識別和處理 PDF 文件中的表格是件困難的事,PyMuPDF 最新版本 1.23.0 提供了從 PDF 中提取表格的功能!可以將提取內(nèi)容交給 pandas 處理,可以導(dǎo)出 Excel 和 CSV 格式的文件。
3、深入介紹 Python 3.12 中的永生對象[3]
周刊第 16 期[4]分享了 Instagram 在 Python 3.12 引入永生對象的故事,而這里分享的文章深入剖析解釋器源碼,為我們回答了以下問題:為什么要引入永生對象?它對性能有什么影響?它是如何實(shí)現(xiàn)的(如 None 對象和小整數(shù)),如何做到兼容舊版本的接口的?
4、Python 中下劃線的十種用法[5]
你知道 Python 中的下劃線有哪些用法么?這篇文章介紹了:REPL 中的用法、作變量名的前綴和后綴時的四種用法、作為賦值“接收器”的兩種用法、新 match-case 語法中的用處、用作頻繁調(diào)用的函數(shù)別名、大額數(shù)字中增加可讀性。
5、Python Asyncio 之網(wǎng)絡(luò)編程方法詳解[6]
Asyncio 不僅提供了簡單的Socket接口,還基于它提供了Protocol&Transport接口以及更高級的Stream接口,大大的減輕了開發(fā)者進(jìn)行網(wǎng)絡(luò)編程的心理負(fù)擔(dān)。文章主要介紹了這幾個接口的簡單使用以及對應(yīng)的原理分析。
6、給初學(xué)者的 Streamlit 學(xué)習(xí)指南[7]
Streamlit 是一個用于創(chuàng)建和部署 Web 程序的框架,廣泛用于機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域。這篇教程介紹了它的安裝以及常用組件的使用。
7、如何在 FastAPI 應(yīng)用中使用 Tailwind CSS 和 SQLAlchemy[8]
FastAPI 是一個輕量級框架,通常需要集成其它組件搭配使用。這篇文章介紹了如何將 FastAPI 與 Jinja2 模板引擎、Tailwind CSS 以及 SQLAlchemy 結(jié)合,創(chuàng)建出一個好用的開發(fā)腳手架。
8、Python 如何不作排序但保持?jǐn)?shù)據(jù)有序[9]
文章介紹了 Python 堆排序/優(yōu)先隊(duì)列、二分查找、有序容器的相關(guān)使用,它們有更好的時間復(fù)雜度或適用場景,是比暴力搜索和暴力排序更值得采用的解決方案。
9、用 Django 發(fā)送帶有驗(yàn)證鏈接的電子郵件[10]
我們經(jīng)常會在注冊一些賬號后收到一封驗(yàn)證郵件,只有在鏈接的有效期內(nèi)點(diǎn)擊它才能完成賬號注冊。這篇教程介紹了如何用 Django 來實(shí)現(xiàn)這個功能,這是一個簡短而完整的練手項(xiàng)目。
10、探索全球多樣性:Pyetho — 用于了解國家及其語言的 Python 庫[11]
文章介紹了Pyetho[12] 這個庫的基本使用,它主要包含了全球國家及其語言的相關(guān)信息,采用 ISO 標(biāo)準(zhǔn)。收錄有 195 個國家,我查詢了下,中國有 285 種語言。除了國家和語言基本信息外,其它功能包括:查詢某種語言的使用人數(shù)、查詢某種語言在哪些國家使用、查詢某種語言的譜系家族、查詢所有的語言家族,等等。
11、Polars:快如閃電的 DataFrame 庫[13]
Polars 是數(shù)據(jù)分析領(lǐng)域的新秀,底層是用 Rust 寫的,擁有超高性能。這是一篇詳細(xì)的教程,內(nèi)容包括:它的 DataFrame、表達(dá)式和上下文、惰性 API(LazyFrame)、與外部數(shù)據(jù)源集成、與 Numpy 和 pandas 的集成,等等。
12、深入學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法:C++、Swift、Python、Java、C#、JavaScript[14]
超長文預(yù)警!文章探索了不同編程語言中常見數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn),使用簡潔的動畫和圖表直觀介紹了相關(guān)的知識。主要涉及線性數(shù)據(jù)結(jié)構(gòu),如數(shù)組、動態(tài)數(shù)組、鏈表、循環(huán)鏈表、棧、隊(duì)列、哈希表、集合,等等。數(shù)據(jù)結(jié)構(gòu)當(dāng)然離不開算法和時間復(fù)雜度,文中也有對應(yīng)介紹。
??Python潮流周刊??已免費(fèi)發(fā)布了 18 期,訪問下方鏈接,即可查看全部內(nèi)容:https://pythoncat.top/tags/weekly[15]
如果你覺得周刊有價值,請表達(dá)小小心意,贊賞一下貓哥吧~~

???項(xiàng)目&資源
1、fastapi-users:開箱即用的 FastAPI 用戶管理庫[16]
為 FastAPI 添加用戶注冊與身份驗(yàn)證模塊,主要特性有:可擴(kuò)展的用戶模型、注冊/登錄/重置密碼/郵箱驗(yàn)證、OAuth2 登錄流程、可定制的數(shù)據(jù)庫后端、支持多種身份驗(yàn)證,等等。(star 3.3K)
2、upiano:命令行里的鋼琴[17]
在命令行里彈鋼琴是種什么體驗(yàn)?!安裝這個庫后,你就可以用鼠標(biāo)和鍵盤來彈鋼琴了。
3、hrequests:requests 庫的替代品[18]
一個比 requests 庫更簡單、可配置、功能豐富的庫,使用 gevent 實(shí)現(xiàn)高性能并發(fā),支持 HTTP/2,JSON 序列化比標(biāo)準(zhǔn)庫快 10 倍,代碼使用類型提示,100% 線程安全。
4、wisdomInterrogatory:智海-錄問法律大模型[19]
由浙江大學(xué)、阿里巴巴達(dá)摩院以及華院計(jì)算共同設(shè)計(jì)研發(fā)的法律大模型,以“普法共享和司法效能提升”為目標(biāo)。模型基座是 Baichuan-7B,預(yù)訓(xùn)練的數(shù)據(jù)包括法律文書、司法案例以及法律問答數(shù)據(jù),共 40 G。
5、awesome-systematic-trading:一個精選的系統(tǒng)化交易列表[20]
系統(tǒng)化交易/量化交易是依據(jù)規(guī)則和算法進(jìn)行自動化交易的策略,這個倉庫收錄了一系列資源:庫、軟件、策略、書籍、博客、論文、視頻,等等。(star 1.1K)
6、Qwen-VL:阿里通義千問-VL 模型的官方庫[21]
Qwen-VL 是阿里云研發(fā)的大規(guī)模視覺語言模型,可以以圖像、文本、檢測框作為輸入,并以文本和檢測框作為輸出。支持多語言、多圖交錯對話。評測結(jié)果顯示,Qwen-VL 在多個 VL 任務(wù)上相比目前 SOTA 的 Generalist Models 都有明顯優(yōu)勢。
7、h2ogpt:私人文檔+圖像的問答[22]
查詢和總結(jié)你的文檔,或者與本地私有的 GPT LLM 聊天。支持大部分文檔,支持 LLaMa2、Falcon、Vicuna、AutoGPTQ、LORA 等,支持 Linux、Docker、MAC 和 Windows。(star 7.2K)
8、refact:開源編碼助手,支持自動補(bǔ)全、代碼重構(gòu)、代碼分析[23]
Copilot 的開源替代方案,可自托管或使用云服務(wù)。支持 starcoder、starchat、llama2、wizardlm 等開源模型,支持代碼補(bǔ)全、重構(gòu)、解釋、分析、優(yōu)化與修復(fù)錯誤等功能。
9、dify:創(chuàng)建自己的 AI 應(yīng)用[24]
dify 是 Do It For You 的簡寫,是一個易用的 LLMOps 平臺,支持快速創(chuàng)建出自己的 AI 應(yīng)用。核心能力:通過 Langchain 支持主流的大語言模型(包括訊飛星火、文心一言、通義千問)、可視化編排 Prompt、支持添加數(shù)據(jù)集、支持插件、支持?jǐn)?shù)據(jù)標(biāo)注與改進(jìn)。(star 8K)
10、dara:輕松創(chuàng)建交互式 Web 應(yīng)用程序[25]
一個低代碼開發(fā)框架,與 Plotly Dash、Streamlit 和 Shiny 相似,支持快速創(chuàng)建儀表板應(yīng)用。后端使用 FastAPI,前端是一個基于 React 的 UI。
??贊助&支持
如果你喜歡周刊,請分享給其他需要的同學(xué),讓更多人可以從中受益~
如果你覺得周刊有價值,請隨意贊賞[26] 或 買杯咖啡[27] 進(jìn)行支持!
如果你想幫助周刊辦得更好,歡迎向我們投稿或提出建議:投稿/建議通道[28]
如果你是品牌方或廣告主,歡迎私信我,洽談贊助與合作事項(xiàng)。
??歡迎訂閱
-
微信公眾號[29]:除更新周刊外,還發(fā)布其它原創(chuàng)作品,并轉(zhuǎn)載一些優(yōu)質(zhì)文章。(可加好友,可加讀者交流群)
-
博客[30] 及 RSS[31]:我的獨(dú)立博客,上面有歷年原創(chuàng)/翻譯的技術(shù)文章,以及從 2009 年以來的一些隨筆。
-
Github[32]:你可以獲取本周刊的 Markdown 源文件,做任何想做的事!
-
郵件[33]:在 Substack 上開通的頻道,滿足你通過郵件閱讀時事通訊的訴求。
-
Telegram[34]:除了發(fā)布周刊的通知外,我將它視為一個“副刊”,補(bǔ)充發(fā)布更加豐富的資訊。
-
Twitter[35]:我的關(guān)注列表里有大量 Python 相關(guān)的開發(fā)者與組織的賬號。
參考資料
一份深入探索 Flask 的指南: https://testdriven.io/guides/flask-deep-dive
[2]使用 PyMuPDF 識別與提取表格: https://artifex.com/blog/table-recognition-extraction-from-pdfs-pymupdf-python
[3]深入介紹 Python 3.12 中的永生對象: https://codeconfessions.substack.com/p/understanding-immortal-objects-in
[4]第 16 期: https://pythoncat.top/posts/2023-08-19-weekly
[5]Python 中下劃線的十種用法: https://mathspp.com/blog/pydonts/usages-of-underscore
[6]Python Asyncio 之網(wǎng)絡(luò)編程方法詳解: https://so1n.me/2023/08/29/python_asyncio_lib_network/
[7]給初學(xué)者的 Streamlit 學(xué)習(xí)指南: https://dev.to/codemaker2015/streamlit-cheatsheet-for-beginners-706
[8]如何在 FastAPI 應(yīng)用中使用 Tailwind CSS 和 SQLAlchemy: https://ezzeddin.hashnode.dev/fastapi-tailwind-sqlalchemy
[9]Python 如何不作排序但保持?jǐn)?shù)據(jù)有序: https://www.bitecode.dev/p/how-not-to-sort-in-python
[10]用 Django 發(fā)送帶有驗(yàn)證鏈接的電子郵件: https://delighto.hashnode.dev/send-verification-email-django
[11]探索全球多樣性:Pyetho — 用于了解國家及其語言的 Python 庫: https://medium.com/@i18nsolutionspy/exploring-global-diversity-pyetho-python-library-for-language-and-country-insights-4a688958ea83
[12]Pyetho: https://github.com/i18nsolutionspy/Pyetho
[13]Polars:快如閃電的 DataFrame 庫: https://realpython.com/polars-python/
[14]深入學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法:C++、Swift、Python、Java、C#、JavaScript: https://dev.to/khaledhosseini/data-structures-and-algorithms-for-multi-language-programmers-c-swift-python-java-c-javascript-alp
[15]https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly
[16]fastapi-users:開箱即用的 FastAPI 用戶管理庫: https://github.com/fastapi-users/fastapi-users
[17]upiano:命令行里的鋼琴: https://github.com/eliasdorneles/upiano
[18]hrequests:requests 庫的替代品: https://github.com/daijro/hrequests
[19]wisdomInterrogatory:智海-錄問法律大模型: https://github.com/zhihaiLLM/wisdomInterrogatory
[20]awesome-systematic-trading:一個精選的系統(tǒng)化交易列表: https://github.com/edarchimbaud/awesome-systematic-trading
[21]Qwen-VL:阿里通義千問-VL 模型的官方庫: https://github.com/QwenLM/Qwen-VL
[22]h2ogpt:私人文檔+圖像的問答: https://github.com/h2oai/h2ogpt
[23]refact:開源編碼助手,支持自動補(bǔ)全、代碼重構(gòu)、代碼分析: https://github.com/smallcloudai/refact
[24]dify:創(chuàng)建自己的 AI 應(yīng)用: https://github.com/langgenius/dify
[25]dara:輕松創(chuàng)建交互式 Web 應(yīng)用程序: https://github.com/causalens/dara
[26]贊賞: https://img.pythoncat.top/wechat_code.png
[27]買杯咖啡: https://www.buymeacoffee.com/pythoncat
[28]投稿/建議通道: https://github.com/chinesehuazhou/python-weekly/issues/new
[29]微信公眾號: https://img.pythoncat.top/python_cat.jpg
[30]博客: https://pythoncat.top
[31]RSS: https://pythoncat.top/rss.xml
[32]Github: https://github.com/chinesehuazhou/python-weekly
[33]郵件: https://pythoncat.substack.com
[34]Telegram: https://t.me/pythontrendingweekly
[35]Twitter: https://twitter.com/chinesehuazhou
