作者:HelloGitHub-滷蛋
隨著 Python 語言的流行,越來越多的人加入到了 Python 的大家庭中。為什麼這麼多人學 Python ?我要喊出那句話了:“人生苦短,我用 Python!”,正是因為語法簡單、容易學習,所以 Python 深受大家喜愛。(Python!Python!Python!)
Python 初學者在邁過安裝程式設計環境和基本語法的門檻 ,準備大展身手的時候,可能突然就會進入迷茫期:不知道做些什麼、再學些什麼。然後對程式設計的興趣就會慢慢消退,找不到堅持下去的理由,從而慢慢淡忘之前學會的程式設計知識。所以找到自己感興趣、能夠跟著動手和學習的 Python 專案是特別重要的,這樣才能把學會的 Python 知識用起來,不斷地提高。最終從新手晉升為高手!
興趣是最好的老師,HelloGitHub 就是幫你找到程式設計的樂趣。
這裡是 HelloGitHub 的《GitHub 上適合新手的開源專案》系列,共計 5 篇文章:
- C++ 篇
- Python 篇
- Go 篇
- Java 篇
- JavaScript 篇
本期是 Python 篇,下面我將從 HG 推薦過的 197 個 Python 開源專案中,精心篩選出 7 個最適合 Python 新手學習和把玩的開源專案。這些專案包括:
- 從零開始學也不用愁的 Python 教程
- 讓你驚呼 Python 還可以這樣用的祕籍(大開眼界)
- 輕輕鬆鬆就能跑起來(滿滿成就感)
- 好玩有趣又能學到東西的專案(程式設計的樂趣)
我會盡力做到涵蓋每一個剛入門階段在找開源專案的小夥伴。宣告:
- 不糾結專案是 Python2 還是 3
- 我最怕推薦的專案過多讓讀者“挑花眼”導致都沒學好,所以就選了 7 個專案
- 歡迎吐槽和反饋,不定期更新。所以本文暫且稱之為 Python 篇 1.0 ?
注意: 為了方便大家學習,我把這些專案整理好放到網盤上供大家下載學習(地址在最下面),另外大家也可以直接 clone
專案。
但不管以哪種方式下載,我都希望大家可以去給這些 GitHub 上的開源專案點一個 star ✨,讓作者感受到大家的支援和喜愛。我在這裡提前替作者感謝大家了,愛你們呦~❤️
? 發動引擎~
一、教練,我想學 Python
車上有座,坐滿就發車。
1.1 有程式設計基礎:explore-python
- 專案地址:https://github.com/ethan-funny/explore-python
- 線上閱讀:https://funhacks.gitbooks.io/explore-python/content/
《Python 之旅》這本開源書雖然是入門級但並不是“保姆級”,如果你覺得手把手教你安裝 Python 之類是浪費時間,那麼我推薦 explore-python 這個專案。所以,如果之前學過其它程式語言,自己能解決安裝環境等問題。那你可能就會和我一樣喜歡它:
- 大綱:直觀的腦圖展示,結構清晰完整,講的都是重點和常用知識
- 內容:程式碼多於文字,執行示例程式碼幫助領悟+簡短文字點撥,可能程式碼寫的久了,看程式碼感覺比文字舒服
- 排版:舒服+講究,寫給程式設計師的 Python 書籍
1.2 沒有程式設計基礎:Python-100-Days
Python-100-Days 就是我上面說的“保姆級”教程,他的內容面面俱到包括了 Python 開發的方方面面,手把手地一步步的講 Python 技術。面向沒有程式設計基礎想學 Python 的人群,但它不是隻教會你 Python 基本語法就結束了。還有吶:Python 進階知識、Linux 基礎知識、資料庫知識、Web 基礎和框架、爬蟲和資料分析、機器學習等。《真·一個專案學會 Python》?
? 說無妨: Python 入門的教程都很簡單,但是有毅力能堅持讀完和有耐心動手敲完每一個例子人不簡單。
二、大神,我想學好 Python
車速太快,請坐穩扶好。
2.1 先查收這份指南:python-guide
- 專案地址:https://github.com/realpython/python-guide
- 線上閱讀:https://pythonguidecn.readthedocs.io/zh/latest/
首先感謝譯者們的辛勤付出,降低了《Python 最佳實踐指南》這份指南的閱讀門檻。如果你想把 Python 玩好,但又不知道該從哪些方面著手提高,那這份指南一定可以幫你解決困惑。該指南介紹了以下幾個方面:開發環境、常用工具、程式碼風格、專案結構、使用場景等,提高 Python 相關的綜合素養:用的優雅,玩的溜。這個專案不管是作者、貢獻者還是譯者們,都是 Python 社群的“老司機”,老司機帶你飛的機會來了!
2.2 再翻爛這本祕籍:python3-cookbook
- 專案地址:https://github.com/yidao620c/python3-cookbook
- 線上閱讀:https://python3-cookbook.readthedocs.io/zh_CN/latest/
如果說每一個 Python 問題或需求就是一次進攻的話,那《Python Cookbook》就是破解進攻招式的武功祕籍。當你對用 Python 處理一個問題沒有思路或者感覺可能會有更好的方法和寫法時,翻翻這本書吧。不信你就試試躺著隨便翻一頁看,看著看著你就能坐起來,並且嘴裡唸叨著:“xxx,還能這麼寫?我得去試試”。別笑,真事兒我幹過好幾次了。
**? 說無妨: ** 不是買兩本書、看幾個開源專案簡介就可以進階,只有日積月累才可以從量變到質變,完成進階。這個過程沒有辦法手把手地教,因為沒人可以一直給你講以後你會遇到的所有問題。所以,你只能抓住每一個可以提高機會和知識點,像救命稻草一樣拼命的抓緊,把知識點掰開揉碎的融會貫通。
三、老師,我想和你一起玩 Python
這車真帥,我也想坐上去試試。
3.1 玩一個不過癮:free-python-games
真·入門級 Python 遊戲集合庫。都是些簡單的小遊戲,比如:貪吃蛇、迷宮、Pong、猜字等,執行簡單(有些不需要安裝依賴)、程式碼少且易讀。用遊戲開啟的你 Python 專案之旅,玩完再學原始碼,其樂無窮啊。原始碼都在 freegames
目錄下,每一個 py
檔案就是一個遊戲,比如 guess.py
就是猜字遊戲的原始碼。安裝執行的命令如下:
pip install freegames
python -m freegames.maze # freegames.遊戲名
3.2 Windows 下的按鍵精靈工具:KeymouseGo
Python 實現的精簡綠色版按鍵精靈。記錄使用者的滑鼠、鍵盤操作,自動執行之前記錄的操作,可設定執行的次數。在進行某些簡單、單調、重複的操作時,使用該軟體可以十分省事兒。只需要錄製一遍,剩下的交給 KeymouseGo 來做就可以了。
3.3 Linux 下優雅的 HTTP 請求工具:httpstat
一個更加漂亮展示 HTTP 請求狀態和耗時的 Python 命令列工具。它美化了 curl
的結果,使得結果更加可讀和直觀,還可以顯示 HTTP 請求的每個過程的耗時。最主要它無依賴、相容 Python3、就一個檔案才 300 多行程式碼,非常適合新手閱讀原始碼。效果如下圖:
上面這些開源專案很有趣,而且執行簡單,不會讓你卡在執行程式碼這一步。最後分享下我執行 Python 開源專案的三板斧招式:
- 安裝依賴:
pip install -r requirements.txt
- 啟動檔案:通常為
main
、run
、專案名的同名檔案
的py
檔案 - 執行出錯:拿著異常資訊去專案 issues 區搜,沒有找到就去問搜尋引擎
? 說無妨: 把專案執行起來不是終極目的,要閱讀原始碼然後按照自己的想法修改程式碼最後增加或修改功能(提 PR),這才能算是玩好了。
四、最後
看完這篇文章,如果只記住有哪些適合新手學習的開源專案,那不會讓你有任何技術上的提升,就算看十遍也不會提高。只有去看、去用、去學文中推薦的專案,才會提高技術。
新手入門 Python 簡單,迷茫的進階期長,持續關注 HelloGitHub 幫你找到程式設計的樂趣,找到堅持下去的理由和前進的方向。這裡是 ? 說無妨 的滷蛋:“歡迎給我留言告訴我你是否喜歡本文,或者批評和反饋我都會虛心接受,改不改...看心情。? ”
網盤連結: https://pan.baidu.com/s/1SX3GjqZPTWRvVkwUk1OXag 密碼:2eev
如果你是在校大學生或研究生熱愛程式設計、開源,喜歡討論和學習技術相關的內容,那麼來 HelloGitHub 的大學生開源俱樂部吧!你們的程式設計路才剛開始 HG 想陪你們走一段。加微訊號:HelloGitHub (備註:學校和專業)。