不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇python開源學(xué)習(xí)項(xiàng)目,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來告訴你這個(gè)專業(yè)的優(yōu)勢(shì)到底體現(xiàn)在哪里:30 個(gè)驚艷的Python開源項(xiàng)目,GitHub 上適合新手的開源項(xiàng)目(Python 篇),國(guó)內(nèi)最火的11個(gè)Python開源項(xiàng)目,教你閱讀Python開源項(xiàng)目代碼??。
在過去的一年里,Mybridge AI 比較了近15000個(gè)開源Python項(xiàng)目,選擇了前30名(概率只有0.2%)。這是一個(gè)競(jìng)爭(zhēng)異常激烈的名單,精挑細(xì)選了2021年1月到12月之間發(fā)布的*開源Python庫(kù)、工具和應(yīng)用程序。Mybridge AI 通過考量受歡迎程度、參與度和新近度等指標(biāo)來評(píng)估這些參選項(xiàng)目的質(zhì)量。這些項(xiàng)目在Github上得星的數(shù)量平均為3,707個(gè)。開源項(xiàng)目對(duì)于程序員來說可能大有裨益。通過閱讀源代碼并在現(xiàn)有項(xiàng)目之上構(gòu)建一些東西。是該拿出時(shí)間來玩玩過去一年中可能錯(cuò)過的Python項(xiàng)目啦!Python開源項(xiàng)目排行榜*名家庭助理(v0.6+):開源家庭自動(dòng)化平臺(tái)在Python 3上運(yùn)行[Github上11357顆星]。由Paulus Schoutsen提供第二名Pytorch:強(qiáng)GPU加速Python中的Tensor和動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)[Github上11019顆星]。由Adam Paszke 和pytorch團(tuán)隊(duì)其他成員提供第三名Grumpy:一個(gè)Python源代碼反編譯和運(yùn)行[Github上8367顆星]。由Dylan Trotter和Google的其他成員提供第四名Sanic:異步Python3.5+Web服務(wù)器加速[Github上8028顆星]。由Channel Cat和Eli Uriegas提供第五名Python—fire:從任意Python對(duì)象中自動(dòng)生成命令行接口(CLIs)的庫(kù)[Github上7775顆星]。由David Bieber和來自Google Brain(Google Brain是Google內(nèi)部用于訓(xùn)練大規(guī)模深度神經(jīng)網(wǎng)絡(luò)的構(gòu)架,它為用戶提供了方便的API)的其他成員提供第六名spaCy(v2.0):用Python和Cython實(shí)現(xiàn)工業(yè)強(qiáng)度的自然語言處理(NLP)[Github上7663顆星]。由Matthew Honnibal提供第七名Pipenv:人類的Python開發(fā)工作流[Github上7273顆星]。由Kenneth Reitz提供第八名:簡(jiǎn)單和高效的Python實(shí)現(xiàn)微控制和約束系統(tǒng)[Github上5728顆星]第九名Prophet:生成具有線性或非線性增長(zhǎng)的多重季節(jié)性的時(shí)間序列數(shù)據(jù)的高質(zhì)量預(yù)測(cè)工具[Github上4369顆星]。由Facebook提供第十名SerpentAI:用Python編寫的游戲代理框架。幫助創(chuàng)建Ais/Bots,可以玩任意游戲[Github上3411顆星]。由Nicholas Brochu提供第十一名Dash:用純Python編寫的交互的、實(shí)時(shí)響應(yīng)的Web應(yīng)用程序[Github上3281顆星]。由Chris P提供第十二名InstaPy:Instagram Bot. Like/Comment/Follow自動(dòng)化腳本。[Github上3179顆星]。由TImG提供第十三名Apistar:一個(gè)快速的和有表現(xiàn)力的API框架。用于Python[Github上3024顆星]。由Tom Christie提供第十四名Faiss:有效相似性搜索和密集向量集群的庫(kù)[Github上2717顆星]。由Matthijs Douze和來自Facebook研究院的其他成員提供第十五名:一個(gè)與網(wǎng)站自動(dòng)化交互的Python庫(kù)[Github上2244顆星]。第十六名Better-:用Python編寫的自動(dòng)地漂亮的和有用的異常處理[Github上2121顆星]。由Qix提供第十七名Flashtext:從句子中提取關(guān)鍵詞或替換句子中的關(guān)鍵詞[Github上2021顆星]。由Vikash Singh提供第十八名Maya:用Python實(shí)現(xiàn)人類的日期時(shí)間[Github上1828顆星]。由Kenneth Reitz提供第十九名Mimesis (v1.0):Python庫(kù),有助于為不同的目的以不同的語言生成模擬數(shù)據(jù)。這些數(shù)據(jù)在軟件開發(fā)和測(cè)試的不同階段特別有用[Github上1732顆星]。由Líkie Geimfari 提供第二十名開放式無紙化:掃描、索引和歸檔所有的紙質(zhì)文檔。一個(gè)文檔管理系統(tǒng)[Github上1717顆星]。由Tina Zhou提供第二十一名Fsociety:黑客工具包。滲透測(cè)試框架[Github上1585顆星]。由Manis Manisso提供第二十二名:實(shí)時(shí)可視化跟蹤Python代碼[Github上1577顆星]。由Anastasis 提供第二十三名Hatch:用于Python的現(xiàn)代項(xiàng)目、包和虛擬環(huán)境管理器[Github上1537顆星]。由Ofek Lev提供第二十四名Tangent:用純Python實(shí)現(xiàn)源到源的可調(diào)試導(dǎo)數(shù)[Github上1433顆星]。由Alex Wiltschko和來自Google Brain其他成員提供第二十五名:識(shí)別和監(jiān)控短期股票走勢(shì)的歷史線索的Python程序[Github上1159顆星]。由Anthony Federico提供第二十六名:Python通過收集運(yùn)行時(shí)類型生成靜態(tài)類型注釋的系統(tǒng)[Github上1143顆星]。由Instagram工程組的Carl Meyer提供第二十七名Eel:一個(gè)小的Python庫(kù),用于制作簡(jiǎn)單的電子類HTML / js GUI應(yīng)用程序[Github上1137顆星]。第二十八名Surprise v1.0:建立和分析推薦系統(tǒng)的Python scikit[Github上1103顆星]。第二十九名Gain:獲取每個(gè)人的Web爬行框架[Github上1009顆星]。由高久力提供第三十名: 一組從PDF文件中提取表的工具,有助于對(duì)掃描文檔進(jìn)行數(shù)據(jù)挖掘[Github上722顆星]。
作者:-鹵蛋隨著 Python 語言的流行,越來越多的人加入到了 Python 的大家庭中。為什么這么多人學(xué) Python ?我要喊出那句話了:“人生苦短,我用 Python!”,正是因?yàn)檎Z法簡(jiǎn)單、容易學(xué)習(xí),所以 Python 深受大家喜愛。(Python!Python!Python!)Python 初學(xué)者在邁過安裝編程環(huán)境和基本語法的門檻 ,準(zhǔn)備大展身手的時(shí)候,可能突然就會(huì)進(jìn)入迷茫期:不知道做些什么、再學(xué)些什么。然后對(duì)編程的興趣就會(huì)慢慢消退,找不到堅(jiān)持下去的理由,從而慢慢淡忘之前學(xué)會(huì)的編程知識(shí)。所以找到自己感興趣、能夠跟著動(dòng)手和學(xué)習(xí)的 Python 項(xiàng)目是特別重要的,這樣才能把學(xué)會(huì)的 Python 知識(shí)用起來,不斷地提高。最終從新手晉升為高手! 興趣是*的老師, 就是幫你找到編程的樂趣。 這里是 的《GitHub 上適合新手的開源項(xiàng)目》系列,共計(jì) 5 篇文章:C++ 篇Python 篇Go 篇Java 篇 篇本期是 Python 篇,下面我將從 HG 推薦過的 197 個(gè) Python 開源項(xiàng)目中,精心篩選出 7 個(gè)最適合 Python 新手學(xué)習(xí)和把玩的開源項(xiàng)目。這些項(xiàng)目包括:從零開始學(xué)也不用愁的 Python 教程讓你驚呼 Python 還可以這樣用的秘籍(大開眼界)輕輕松松就能跑起來(滿滿成就感)好玩有趣又能學(xué)到東西的項(xiàng)目(編程的樂趣)我會(huì)盡力做到涵蓋每一個(gè)剛?cè)腴T階段在找開源項(xiàng)目的小伙伴。聲明:不糾結(jié)項(xiàng)目是 Python2 還是 3我最怕推薦的項(xiàng)目過多讓讀者“挑花眼”導(dǎo)致都沒學(xué)好,所以就選了 7 個(gè)項(xiàng)目歡迎吐槽和反饋,不定期更新。所以本文暫且稱之為 Python 篇 1.0 注意: 為了方便大家學(xué)習(xí),我把這些項(xiàng)目整理好放到網(wǎng)盤上供大家下載學(xué)習(xí)(地址在最下面),另外大家也可以直接 clone 項(xiàng)目。但不管以哪種方式下載,我都希望大家可以去給這些 GitHub 上的開源項(xiàng)目點(diǎn)一個(gè) star ?,讓作者感受到大家的支持和喜愛。我在這里提前替作者感謝大家了,愛你們呦~?? 發(fā)動(dòng)引擎~一、教練,我想學(xué) Python 車上有座,坐滿就發(fā)車。 1.1 有編程基礎(chǔ):explore-python項(xiàng)目地址: 之旅》這本開源書雖然是入門級(jí)但并不是“保姆級(jí)”,如果你覺得手把手教你安裝 Python 之類是浪費(fèi)時(shí)間,那么我推薦 explore-python 這個(gè)項(xiàng)目。所以,如果之前學(xué)過其它編程語言,自己能解決安裝環(huán)境等問題。那你可能就會(huì)和我一樣喜歡它:大綱:直觀的腦圖展示,結(jié)構(gòu)清晰完整,講的都是重點(diǎn)和常用知識(shí)內(nèi)容:代碼多于文字,運(yùn)行示例代碼幫助領(lǐng)悟+簡(jiǎn)短文字點(diǎn)撥,可能代碼寫的久了,看代碼感覺比文字舒服排版:舒服+講究,寫給程序員的 Python 書籍1.2 沒有編程基礎(chǔ):Python-100-Days項(xiàng)目地址: 就是我上面說的“保姆級(jí)”教程,他的內(nèi)容面面俱到包括了 Python 開發(fā)的方方面面,手把手地一步步的講 Python 技術(shù)。面向沒有編程基礎(chǔ)想學(xué) Python 的人群,但它不是只教會(huì)你 Python 基本語法就結(jié)束了。還有吶:Python 進(jìn)階知識(shí)、Linux 基礎(chǔ)知識(shí)、數(shù)據(jù)庫(kù)知識(shí)、Web 基礎(chǔ)和框架、爬蟲和數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等?!墩妗ひ粋€(gè)項(xiàng)目學(xué)會(huì) Python》 說無妨: Python 入門的教程都很簡(jiǎn)單,但是有毅力能堅(jiān)持讀完和有耐心動(dòng)手敲完每一個(gè)例子人不簡(jiǎn)單。二、大神,我想學(xué)好 Python 車速太快,請(qǐng)坐穩(wěn)扶好。 2.1 先查收這份指南:python-guide項(xiàng)目地址: *實(shí)踐指南》這份指南的閱讀門檻。如果你想把 Python 玩好,但又不知道該從哪些方面著手提高,那這份指南一定可以幫你解決困惑。該指南介紹了以下幾個(gè)方面:開發(fā)環(huán)境、常用工具、代碼風(fēng)格、項(xiàng)目結(jié)構(gòu)、使用場(chǎng)景等,提高 Python 相關(guān)的綜合素養(yǎng):用的優(yōu)雅,玩的溜。這個(gè)項(xiàng)目不管是作者、貢獻(xiàn)者還是譯者們,都是 Python 社區(qū)的“老司機(jī)”,老司機(jī)帶你飛的機(jī)會(huì)來了!2.2 再翻爛這本秘籍:python3-cookbook項(xiàng)目地址: Python 問題或需求就是一次進(jìn)攻的話,那《Python Cookbook》就是破解進(jìn)攻招式的武功秘籍。當(dāng)你對(duì)用 Python 處理一個(gè)問題沒有思路或者感覺可能會(huì)有更好的方法和寫法時(shí),翻翻這本書吧。不信你就試試躺著隨便翻一頁(yè)看,看著看著你就能坐起來,并且嘴里念叨著:“xxx,還能這么寫?我得去試試”。別笑,真事兒我干過好幾次了。** 說無妨: ** 不是買兩本書、看幾個(gè)開源項(xiàng)目簡(jiǎn)介就可以進(jìn)階,只有日積月累才可以從量變到質(zhì)變,完成進(jìn)階。這個(gè)過程沒有辦法手把手地教,因?yàn)闆]人可以一直給你講以后你會(huì)遇到的所有問題。所以,你只能抓住每一個(gè)可以提高機(jī)會(huì)和知識(shí)點(diǎn),像救命稻草一樣拼命的抓緊,把知識(shí)點(diǎn)掰開揉碎的融會(huì)貫通。三、老師,我想和你一起玩 Python 這車真帥,我也想坐上去試試。 3.1 玩一個(gè)不過癮:free-python-games項(xiàng)目地址: Python 游戲集合庫(kù)。都是些簡(jiǎn)單的小游戲,比如:貪吃蛇、迷宮、Pong、猜字等,運(yùn)行簡(jiǎn)單(有些不需要安裝依賴)、代碼少且易讀。用游戲開啟的你 Python 項(xiàng)目之旅,玩完再學(xué)源碼,其樂無窮啊。源碼都在 freegames 目錄下,每一個(gè) py 文件就是一個(gè)游戲,比如 guess.py 就是猜字游戲的源碼。安裝運(yùn)行的命令如下:pip install freegames python -m freegames.maze # freegames.游戲名 3.2 Windows 下的按鍵精靈工具:項(xiàng)目地址: 實(shí)現(xiàn)的精簡(jiǎn)綠色版按鍵精靈。記錄用戶的鼠標(biāo)、鍵盤操作,自動(dòng)執(zhí)行之前記錄的操作,可設(shè)定執(zhí)行的次數(shù)。在進(jìn)行某些簡(jiǎn)單、單調(diào)、重復(fù)的操作時(shí),使用該軟件可以十分省事兒。只需要錄制一遍,剩下的交給 來做就可以了。3.3 Linux 下優(yōu)雅的 HTTP 請(qǐng)求工具:httpstat項(xiàng)目地址: HTTP 請(qǐng)求狀態(tài)和耗時(shí)的 Python 命令行工具。它美化了 curl 的結(jié)果,使得結(jié)果更加可讀和直觀,還可以顯示 HTTP 請(qǐng)求的每個(gè)過程的耗時(shí)。最主要它無依賴、兼容 Python3、就一個(gè)文件才 300 多行代碼,非常適合新手閱讀源碼。效果如下圖:上面這些開源項(xiàng)目很有趣,而且運(yùn)行簡(jiǎn)單,不會(huì)讓你卡在運(yùn)行代碼這一步。*分享下我運(yùn)行 Python 開源項(xiàng)目的三板斧招式:安裝依賴:pip install -r .txt啟動(dòng)文件:通常為 main、run、項(xiàng)目名的同名文件 的 py 文件運(yùn)行出錯(cuò):拿著異常信息去項(xiàng)目 issues 區(qū)搜,沒有找到就去問搜索引擎 說無妨: 把項(xiàng)目運(yùn)行起來不是終極目的,要閱讀源碼然后按照自己的想法修改代碼*增加或修改功能(提 PR),這才能算是玩好了。四、* 看完這篇文章,如果只記住有哪些適合新手學(xué)習(xí)的開源項(xiàng)目,那不會(huì)讓你有任何技術(shù)上的提升,就算看十遍也不會(huì)提高。只有去看、去用、去學(xué)文中推薦的項(xiàng)目,才會(huì)提高技術(shù)。新手入門 Python 簡(jiǎn)單,迷茫的進(jìn)階期長(zhǎng),持續(xù)關(guān)注 幫你找到編程的樂趣,找到堅(jiān)持下去的理由和前進(jìn)的方向。這里是 說無妨 的鹵蛋:“歡迎給我留言告訴我你是否喜歡本文,或者批評(píng)和反饋我都會(huì)虛心接受,改不改...看心情。 ”網(wǎng)盤鏈接: 密碼:2eev如果你是在校*生或研究生熱愛編程、開源,喜歡討論和學(xué)習(xí)技術(shù)相關(guān)的內(nèi)容,那么來 的*生開源俱樂部吧!你們的編程路才剛開始 HG 想陪你們走一段。
本文由開源*搜集整理,原文:可能是國(guó)內(nèi)最火的開源項(xiàng)目 -- Python 篇截止目前開源*收錄了 44478 款開源項(xiàng)目,囊括了最熱門的各類開源項(xiàng)目,而軟件的評(píng)分在一定程度上代表了軟件的質(zhì)量和熱度,而 Python 語言近年來發(fā)展勢(shì)頭一路攀升,因此本文整理了 Python 語言中評(píng)分超過 8.0 分的幾款項(xiàng)目管理工具,并附上評(píng)分和收藏量,以供開發(fā)者選擇和交流,排名如下:1.開源 ERP 系統(tǒng) GoodERP評(píng)分:8.7,收藏:74GOODERP是一個(gè)開源ERP項(xiàng)目,軟件采用agpl協(xié)議,版權(quán)歸代碼提交者所有,項(xiàng)目范圍是一組功能模塊,包括財(cái)務(wù)加進(jìn)銷存的核心模塊及滿足行業(yè)特殊需求的模塊,這些模塊都以.0為平臺(tái)開發(fā),模塊全部放在 osbzr/gooderp mater分支的根目錄下,每個(gè)模塊一個(gè)目錄,參照 ys 的功能菜單和輸出布局重新設(shè)計(jì)。2.Go 運(yùn)行 Python Grumpy評(píng)分:8.6,收藏:85Grumpy 是一個(gè) Python to Go 源代碼翻譯編譯器和運(yùn)行時(shí),旨在替代 CPython 2.7。關(guān)鍵的區(qū)別是它將 Python 源代碼編譯為 Go 源代碼,然后將其編譯為本機(jī)代碼,而不是字節(jié)碼。這意味著 Grumpy 沒有 VM。編譯的 Go 源代碼是對(duì) Grumpy 運(yùn)行時(shí)的一系列調(diào)用,Go 庫(kù)服務(wù)與 Python C API 類似的目的(盡管不直接支持 C API)。3.中文企業(yè)云操作系統(tǒng) CecOS評(píng)分:8.5,收藏:551CecOS(原中文企業(yè)云操作系統(tǒng)。*個(gè)版本基于oVirt 3.0,后續(xù)在此基礎(chǔ)上不斷升級(jí)迭代拓展至今,已形成基于基礎(chǔ)底層和應(yīng)用功能拓展集成在內(nèi)的10款產(chǎn)品和四大平臺(tái)),旨在通過先進(jìn)的云計(jì)算等相關(guān)技術(shù),以開源創(chuàng)新技術(shù)為基石,業(yè)務(wù)應(yīng)用交付為目標(biāo),實(shí)現(xiàn)用戶IT信息化建設(shè)需求的*價(jià)值提升。為構(gòu)建智慧、智能,四高(高安全、高可靠、高性能、高效率)的綜合信息化業(yè)務(wù)提供完善的配套支持和服務(wù)保障。CecOS核心產(chǎn)品由IaaS(基礎(chǔ)設(shè)施能力平臺(tái))、 SDN(智能網(wǎng)絡(luò)能力平臺(tái)) 、SDS(智能存儲(chǔ)能力平臺(tái)) 、CaaS(容器應(yīng)用服務(wù)平臺(tái))四大能力平臺(tái)組成。其中,IaaS包括CecOS基礎(chǔ)系統(tǒng)、CecOSvt虛擬化組件和CecOS 三個(gè)產(chǎn)品,SDS由CecOSvt和CecOS 實(shí)現(xiàn)。4.《Python Cookbook》第三版中文版評(píng)分:8.4,收藏:212我一直堅(jiān)持使用 python3,因?yàn)樗砹藀ython的未來。雖然向后兼容是它的硬傷,但是這個(gè)局面遲早會(huì)改變的, 而且python3的未來需要每個(gè)人的幫助和支持。 目前市面上的教程書籍,網(wǎng)上的手冊(cè)大部分基本都是2.x系列的,專門基于3.x系列的書籍少的可憐。最近看到一本《Python Cookbook》3rd Edition,完全基于python3,寫的也很不錯(cuò)。 為了python3的普及,我也不自量力,想做點(diǎn)什么事情。于是乎,就有了翻譯這本書的沖動(dòng)了! 這不是一項(xiàng)輕松的工作,卻是一件值得做的工作:不僅方便了別人,而且對(duì)自己翻譯能力也是一種鍛煉和提升。* 在線預(yù)覽地址: PDF下載地址: CheungSSH評(píng)分:8.3,收藏: 是一款*人自主研發(fā)的Linux運(yùn)維自動(dòng)化管理服務(wù)器軟件。CheungSSH作為堡壘機(jī)角色,替代管理人員對(duì)眾多服務(wù)器進(jìn)行管理,解放運(yùn)維管理員的雙手,并且有相應(yīng)的審計(jì)、權(quán)限管理功能6.基于 C++/Python 的開源量化交易研究框架 Hikyuu 評(píng)分:8.3,收藏:115Hikyuu Quant Framework是一款基于C++/Python的開源量化交易研究框架,用于策略分析及回測(cè)。其核心思想基于當(dāng)前成熟的系統(tǒng)化交易方法,將整個(gè)系統(tǒng)化交易抽象為由市場(chǎng)環(huán)境判斷策略、系統(tǒng)有效條件、信號(hào)指示器、止損/止盈策略、資金管理策略、盈利目標(biāo)策略、移滑價(jià)差算法七大組件,你可以分別構(gòu)建這些組件的策略資產(chǎn)庫(kù),在實(shí)際研究中對(duì)它們自由組合來觀察系統(tǒng)的有效性、穩(wěn)定性以及單一種類策略的效果。7.開源自動(dòng)駕駛平臺(tái) 評(píng)分:8.1,收藏:131Apollo (阿波羅)是一個(gè)開放的、完整的、安全的平臺(tái),將幫助汽車行業(yè)及自動(dòng)駕駛領(lǐng)域的合作伙伴結(jié)合車輛和硬件系統(tǒng),快速搭建一套屬于自己的自動(dòng)駕駛系統(tǒng)。Apollo 是百度重點(diǎn)打造的 AI 開放平臺(tái)之一,計(jì)劃主要包含 4 個(gè)技術(shù)模塊:定位/感知模塊、車輛規(guī)劃與運(yùn)營(yíng)(AI+大數(shù)據(jù),精準(zhǔn)控制車輛,適合不同路況)、軟件運(yùn)營(yíng)框架(支持英特爾、英偉達(dá)等多種芯片)。8.Python 的人臉識(shí)別庫(kù) Face 評(píng)分:8.1,收藏:131Face 是一個(gè)基于 Python 的人臉識(shí)別庫(kù),它還提供了一個(gè)命令行工具,讓你通過命令行對(duì)任意文件夾中的圖像進(jìn)行人臉識(shí)別操作。該庫(kù)使用 dlib 頂尖的深度學(xué)習(xí)人臉識(shí)別技術(shù)構(gòu)建,在戶外臉部檢測(cè)數(shù)據(jù)庫(kù)基準(zhǔn)(Labeled Faces in the Wild benchmark)上的準(zhǔn)確率高達(dá) 99.38%。9.使用 Python 生成 Echarts 圖表的類庫(kù) pyecharts評(píng)分:8.1,收藏: 是一個(gè)用于生成 Echarts 圖表的類庫(kù)。實(shí)際上就是 Echarts 與 Python 的對(duì)接。Echarts 是百度開源的一個(gè)數(shù)據(jù)可視化 JS 庫(kù)??戳斯俜降慕榻B文檔,覺得很不錯(cuò),就想看看有沒有人實(shí)現(xiàn)了 Python 庫(kù)可以直接調(diào)用的。Github 上找到了一個(gè) echarts-python 不過這個(gè)項(xiàng)目已經(jīng)很久沒更新且也沒什么介紹文檔。借鑒了該項(xiàng)目,就自己動(dòng)手實(shí)現(xiàn)一個(gè),于是就有了 pyecharts。API 接口是從另外一個(gè)圖表庫(kù) pygal 中模仿的。10.口袋妖怪主題終端 Pokemon-Terminal評(píng)分:8.0,收藏:56口袋妖怪終端,目前包含了 493 個(gè)不同的口袋妖怪主題背景,可以根據(jù)命令選擇口袋妖怪,還內(nèi)置了搜索口袋妖怪的功能, 支持 iTerm2、 及 Tilix 終端。11.乾云云管平臺(tái)開源版 評(píng)分:8.0,收藏:26乾云云管平臺(tái)開源版是基于openstack(juno)的開源IaaS云計(jì)算管理平臺(tái)。包括一個(gè)基于web的簡(jiǎn)單易用的部署平臺(tái)和功能增強(qiáng)的openstack組件。當(dāng)然還有部分優(yōu)秀的開源項(xiàng)目還沒有人打分,所以無法統(tǒng)計(jì),另外評(píng)分并不能代表項(xiàng)目的好壞及每個(gè)人的評(píng)價(jià),所以如果你還用過其他不錯(cuò)的 Python 語言編寫的開源項(xiàng)目,請(qǐng)為他們打上你心中的分?jǐn)?shù),讓更多的開發(fā)者也能更好地進(jìn)行選擇。你想更深入了解學(xué)習(xí)Python知識(shí)體系,你可以看一下我們花費(fèi)了一個(gè)多月整理了上百小時(shí)的幾百個(gè)知識(shí)點(diǎn)體系內(nèi)容:【超全整理】《Python自動(dòng)化全能開發(fā)從入門到精通》筆記全放送
注:本專欄文章未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。知乎上有不少人問和關(guān)注閱讀開源項(xiàng)目代碼這個(gè)問題,比如「初學(xué) Python,有哪些 Pythonic 的源碼推薦閱讀?」、「github中適合新人閱讀的Python項(xiàng)目有哪些?」、「如何去閱讀并學(xué)習(xí)一些優(yōu)秀的開源框架的源碼?」等。本文將從推薦可閱讀的Python項(xiàng)目和如何閱讀者2個(gè)方面聊聊這個(gè)話題。閱讀Python開源項(xiàng)目代碼主要有如下三個(gè)原因:1. 在工作過程中遇到一些問題,Google和等網(wǎng)站找不到解決辦法,只能去翻源碼。2. 對(duì)某些項(xiàng)目或者方向非常感興趣,希望深入。3. 學(xué)習(xí)遇到瓶頸需要汲取開源項(xiàng)目的經(jīng)驗(yàn)和用法來做提高。沒有目的的閱讀開源項(xiàng)目就是耍流氓。浪費(fèi)了時(shí)間,但是能學(xué)到的東西也很少。怎么樣根據(jù)自身情況去閱讀呢? 1. 和興趣以及工作契合。舉個(gè)例子,工作中沒有機(jī)會(huì)用到Celery又不是想自己造個(gè)輪子,讀它的源碼做什么?所以要從平時(shí)能接觸到的那些項(xiàng)目中選取。比如我,我肯定不去看Django的代碼,因?yàn)槿粘9ぷ骰居霾坏剑龅搅爽F(xiàn)翻就好了。2. 一個(gè)方向只看一兩個(gè)典型的就可以了。比如Web框架,我只看過Bottle和Flask的源碼(其實(shí)之前也看過Django的,只是淺嘗輒止),而且看Bottle已經(jīng)是好幾年前的事情了。并不是堆的多了更好,有時(shí)候反而選擇太多會(huì)懵。3. 不同技術(shù)階段的選擇代碼量、復(fù)雜度不一樣的項(xiàng)目,下面會(huì)具體推薦。4. 清楚自己看代碼的目的。就是你看代碼是想了解人家怎么設(shè)計(jì)、調(diào)試BUG、還是只是想學(xué)習(xí)正確的編程用法呢?其實(shí)沒有必要細(xì)摳每個(gè)代碼細(xì)節(jié),有時(shí)候當(dāng)黑盒看,知道輸入輸出就可以了。我個(gè)人的喜好和工作中看別人代碼差不多,基本每個(gè)人、每個(gè)項(xiàng)目、每個(gè)團(tuán)隊(duì)都有自己寫代碼的風(fēng)格,比如變量命名風(fēng)格、某些語言特性使用方式、代碼規(guī)范要求、目錄風(fēng)格等,其實(shí)開源項(xiàng)目的作者也是一樣??创a,如看人(團(tuán)隊(duì))。 首先介紹下我的喜好(排名分先后):1. 。requests和python-guide作者。他還有一個(gè)非常勵(lì)志的故事,有興趣的可以看 誰說程序員不是潛力股?2. mitsuhiko。flask、Jinja2、werkzeug和flask-作者。3. 。flake8、(原pep8)、requests、urllib3等項(xiàng)目的主要貢獻(xiàn)者和維護(hù)者。4. ask。Celery及相關(guān)依賴的作者。5. ajdavis。mongo-python-driver(pymongo)、tornado等項(xiàng)目的主要貢獻(xiàn)者。6. 。fabric、paramiko(Python的ssh庫(kù))作者。前2個(gè)是公認(rèn)的Python領(lǐng)域代碼寫的*的、最有創(chuàng)意的工程師。初學(xué)者推薦閱讀項(xiàng)目初學(xué)者可以先閱讀一些代碼量比較少的,*是單文件的項(xiàng)目:1. GitHub - /pip-pop: Tools for managing files.2. GitHub - /envoy: Python for Humans?.3. GitHub - /records: SQL for Humans?4. GitHub - mitsuhiko/: A simple but flexible plugin system for Python.5. GitHub - mitsuhiko/pipsi: pip script . GitHub - mitsuhiko/unp: Unpacks things.7. GitHub - /cheat8. GitHub - jek/blinker: A fast Python in-process signal/event system.9. GitHub - mitsuhiko/platter: A useful helper for wheel .10. GitHub - /tablib: Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.看代碼主要是了解別人寫代碼的方式,語法實(shí)踐這些內(nèi)容??赐曛?,你可以針對(duì)這些項(xiàng)目能解決的問題自己寫個(gè)項(xiàng)目,寫完之后和上述項(xiàng)目去對(duì)比一下,看看哪些方面做的不好。進(jìn)階閱讀項(xiàng)目進(jìn)階的時(shí)候就要閱讀一些相對(duì)復(fù)雜的項(xiàng)目,它們能幫助你提升Python編程技巧:1. faif/python-patterns。使用Python實(shí)現(xiàn)一些設(shè)計(jì)模式的例子。2. pallets/werkzeug。flask的WSGI工具集。其中包含了實(shí)現(xiàn)非常好的、cached_property、import_string、find_modules、等。3. bottlepy/bottle。閱讀一個(gè)Web框架對(duì)Web開發(fā)就會(huì)有更深刻的理解,flask太大,bottle就4k多行,當(dāng)然如果你有毅力和興趣直接看flask是*了的。4. msiemens/tinydb。了解用Python實(shí)現(xiàn)數(shù)據(jù)庫(kù)。5. coleifer/peewee。了解ORM的實(shí)現(xiàn)。6. pallets/click。click已經(jīng)內(nèi)置于在flask 0.11里,提供命令行功能,值得閱讀。7. mitsuhiko/flask-。了解一個(gè)flask插件是怎么實(shí)現(xiàn)的。除此之外Web開發(fā)者可以閱讀一些相關(guān)的項(xiàng)目:1. runscope/httpbin。使用flask,網(wǎng)站是httpbin(1): HTTP Client Testing Service。2. jahaja/psdash。使用flask和psutils的獲取Linux系統(tǒng)信息的面板應(yīng)用。3. pallets/flask-website。 flask官方網(wǎng)站應(yīng)用。4. pypa/warehouse。如果你使用pyramid,這個(gè)新版的PYPI網(wǎng)站,可以幫助你理解很多。當(dāng)然,2個(gè)學(xué)習(xí)flask重要的資源必須爆一爆:1. GitHub - /discover-flask: Full Stack Web with Flask。2. The Flask Mega-Tutorial。 這個(gè)就是《Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實(shí)戰(zhàn)》的原始博客。500lines推薦一個(gè)非常厲害的項(xiàng)目 GitHub - aosabook/500lines: 500 Lines or Less, 它里面包含了22個(gè)由該領(lǐng)域的專家完成,用不到500行的代碼實(shí)現(xiàn)一個(gè)特定功能的子項(xiàng)目。連Guido van Rossum都親自來寫基于asyncio爬蟲了,Nick Coghlan、ajdavis也出場(chǎng)了。更具體的介紹可以看Python 的練手項(xiàng)目有哪些值得推薦? - 小小搬運(yùn)工的回答。怎么閱讀開源項(xiàng)目源碼我基于個(gè)人興趣和日常開發(fā)需要閱讀過一些開源項(xiàng)目,我列一些比較通用的經(jīng)驗(yàn)和感悟:1. 不要畏懼。我發(fā)現(xiàn)大家都經(jīng)常會(huì)感嘆XXX強(qiáng)大,YYY流行,無形中你會(huì)把它放在一個(gè)不可觸及到的地位,感覺它很難,而令自己不敢去挑戰(zhàn)它。其實(shí)是人就會(huì)產(chǎn)出bug,假如你發(fā)現(xiàn)它有問題,就應(yīng)該抓住機(jī)會(huì)去驗(yàn)證它。這個(gè)過程中,它的神秘感也就消失了,有過這么幾次經(jīng)驗(yàn)?zāi)憔陀行判牧恕F浯问遣灰履闾峤坏腜R被拒絕。這是非常正常的,我有很多PR是被拒絕的,尤其是給標(biāo)準(zhǔn)庫(kù)提交的Patch,絕大多數(shù)都被拒絕了。2. 帶著問題去閱讀代碼,這也是我認(rèn)為最有效的方式。這會(huì)讓你在閱讀時(shí)候有個(gè)主線,比較有針對(duì)性。3. 斷點(diǎn)調(diào)試。在Python代碼中使用pdb一般不太好使,因?yàn)榇a復(fù)雜的話,這種斷點(diǎn)需要你使用多個(gè)n跳到對(duì)應(yīng)的位置,我一般都是先拋出異常,然后使用pdb的up/down/n等命令調(diào)試。當(dāng)然在目標(biāo)位置添加一些print日志或注釋部分代碼然后直接使用exit()退出也是可以的。4. 善用文檔,官網(wǎng)例子。閱讀一個(gè)項(xiàng)目一開始會(huì)有點(diǎn)無從下手,那么就先好好這些內(nèi)容,它們一般都是作者表達(dá)這個(gè)項(xiàng)目的*個(gè)入口。、tutorial等內(nèi)容中的最小化的例子其實(shí)就是*的閱讀入口,先去看這些引用的模塊和調(diào)用的對(duì)應(yīng)方法或者函數(shù)的對(duì)應(yīng)實(shí)現(xiàn),從下至上去閱讀。5. 理解作者的思考方式。不同的項(xiàng)目要有不同的思考方式來閱讀,不要擰著自己的習(xí)慣去閱讀,這樣會(huì)很累,得嘗試接受別人的觀點(diǎn),甚至于改變自己。6. 閱讀項(xiàng)目的早期版本。一些項(xiàng)目隨著時(shí)間演進(jìn)已經(jīng)非常復(fù)雜了,讀起來有難度,那么你可以回到項(xiàng)目的早期版本上,先去看相對(duì)簡(jiǎn)單地版本,然后設(shè)置幾個(gè)時(shí)間點(diǎn)或者版本節(jié)點(diǎn),漸進(jìn)的來閱讀。7. 記憶并繪制項(xiàng)目架構(gòu)。項(xiàng)目就是一堆代碼的組合,除了學(xué)習(xí)編程技巧,還要了解項(xiàng)目的架構(gòu)決策,這對(duì)于未來自己寫大型項(xiàng)目非常用用。這種理解越補(bǔ)充,你會(huì)對(duì)它就越來越清晰。8. 參與。如果只是看和思考而不參與,其實(shí)效果大打折扣。我建議要參與一些issue討論、向作者提問、提PR添加新的功能、幫助改善文檔等等。很多時(shí)候你理解的其實(shí)和作者是有沖突的,無論是你說服他和被他說服,對(duì)自己的成長(zhǎng)都是很有幫助的。無恥的廣告:《Python Web開發(fā)實(shí)戰(zhàn)》上市了!歡迎關(guān)注本人的微信公眾號(hào)獲取更多Python相關(guān)的內(nèi)容(也可以直接搜索「Python之美」):
就拿大數(shù)據(jù)說話,優(yōu)勢(shì)一目了然,從事IT行業(yè),打開IT行業(yè)的新大門,找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。
只要一個(gè)電話
我們免費(fèi)為您回電