這是個很普遍的問題,首先你要想好做什麼類別的專案,總體來說,專案分為三類:
構建乙個 web 應用發布在網路上讓使用者訪問使用。需要實現 web 應用的前端、後端、視覺化部分的業務邏輯。可以使用 django,flask 和 web2py 等工具和框架來完成。
桌面應用也很常見,好的應用可以滿足相當大的使用者群體。在構建桌面應用時,可以使用 py******gui 包輕鬆開發,該包允許你使用 python 來構建所有必要的元素;pyqt5 框架還提供了高階 gui 構建元素,但學習難度會更高一點。
命令列程式僅在控制台視窗中工作,根本沒有 gui。使用者互動是通過命令進行的,它是與程式進行互動的最老的方法,但不要因為缺乏實用性而將缺少 gui 視為錯誤。
數以百計的頂級企業依靠命令列程式執行日常業務活動。要構建命令列程式,可以使用 docopt,python fire,plac 和 cliff 等工具。
python 對不同水平的開發者都很友好,從學生到普通開發人員,甚至是專家和專業人士都適用。但每一門程式語言都需要不斷的學習,python 也是如此。
如果你想要更深入的學習一些實用技能,最好的方法就是用 python 上手實踐一些有趣的專案。下面提到的這些專案面向所有技能水平的開發者,它們可以提高你對 python 的技能掌握和興趣程度。
1. 內容聚合器
網際網路是數百萬人的主要資訊**,人們總會需要通過網路搜尋些什麼。如果需要搜尋大量關於特定主題的資訊,可以利用內容聚合器來節省搜尋時間。
內容聚合器是一種從大量**抓取特定主題的資訊並加以整合的工具。要製作乙個內容聚合器,你可以用 requests 庫處理 http 請求,利用 beautifulsoup 解析和爬取所需資訊,同時借助資料庫來儲存收集到的資訊。
案例:
2. 短**生成器
開發短**生成器實際上就是利用隨機和字串模組,從輸入的長url中生成乙個新的短 url。完成這一步之後,你需要將長 url 和短 url 進行對映,然後儲存在資料庫中,以便使用者未來使用。
案例:
3. 檔案重新命名工具
如果你的工作需要經常管理大量檔案,那麼檔案重新命名工具能為你節省大量時間。從本質上來說,檔案重新命名工具就是利用預定義的初始識別符號重新命名數百個檔案,其中的初始識別符號可以通過**定義,也可以讓客戶自定義。
你可以使用 python 中的 sys、shutil 和 os 等庫來實現即時重新命名檔案。如果需要為檔案新增自定義初始識別符號的選項,你可以利用 regex 庫匹配檔案的命名模式。
案例:
4. 目錄樹生成器
如果你需要對系統中的所有目錄進行視覺化處理,並確定它們之間的關係,那麼就需要用到目錄樹生成器這種工具。
目錄樹的本質作用是表明哪些目錄是始目錄,而哪些又是它的子目錄。如果你的工作涉及很多目錄,而你又想要分析它們的位置,這樣的工具就能幫到你。
要構建目錄樹生成器,你可以使用 os 庫列出檔案和目錄,以及 docopt 框架。
案例:
案例:
6. 井字遊戲
井字遊戲是一款非常經典的遊戲,相信大家都很熟悉。這個遊戲簡單有趣,而且只需要兩名玩家參與。
遊戲目標是在乙個 3x3 的網格上畫x或o,最先以橫、直、對角斜連成一線的玩家為勝。類似這種專案可以使用 python 的 pygame 庫,它自帶構建這種專案所需的所有圖形和音訊素材。
案例:
7. 測驗類應用程式
另外還有一種既流行又有趣,用 python 就可以構建的專案就是測驗應用程式,其中乙個很受歡迎的產品就是 kahoot。
這是一款可以在課堂上進行答題互動的產品,它把學習變成一種有趣的現場/課堂答題活動,很受學生歡迎。這種應用程式是給出一系列選擇題,要求使用者選擇其中乙個選項,並在設定時間結束後揭示正確的選項。
作為開發者,你也可以建立可供使用者隨意新增想要納入測驗的問題和答案的功能。要製作乙個測驗應用程式,你需要利用資料庫來儲存所有的問題、選項、正確答案和使用者得分。
案例:
8. 計算器
當然,在學習一門新的程式語言時,大家可以試試開發乙個計算器(這種傳統專案,僅僅為了好玩兒也不該錯過)。相信大家都知道什麼是計算器,如果你已經試過了,還可以嘗試利用更高階的 gui 對它進行改進,讓它更接近於當前作業系統中採用的新型計算器。想要實現這個目標,你可以使用 tkinter 包為專案新增 gui 元素。
9. 虛擬助手
現在幾乎每部智慧型手機都自帶乙個不同型別的智慧型助手,它能接收你的語音或文字命令,幫你管理**、筆記、預約計程車等等,比如谷歌助理、alexa、cortana 和 siri 等。
如果你想試試如何製作這類東西,可以使用 pyaudio、speechrecognition、gtts 等工具包。這個專案的目標是記錄音訊,將音訊轉換為文字、處理命令,讓程式根據命令做出對應響應。
10. 貨幣換算器
顧名思義,這個專案是要構建乙個貨幣換算器,你只要輸入所需的基準貨幣值,轉換器就能向你反饋換算後的目標貨幣值。
最好是通過**實現從網際網路獲取最新兌換利率的功能,來提高換算的準確性。想要實現這個目標,你可以利用 tkinter 包來構建圖形使用者介面。
總結我們可以發現 python 是一種非常實用的程式語言,適用於開發各種型別和規模的應用程式。此外,python 配置的程式包對於開發者來說價值巨大,能夠極大地簡化開發過程。
最後,我想說的是,python 的應用潛力無限,你唯一缺少的就是找準適當的創意
10個最值得Python新人練手的有趣專案
這是個很普遍的問題,首先你要想好做什麼類別的專案,總體來說,專案分為三類 構建乙個 web 應用發布在網路上讓使用者訪問使用。需要實現 web 應用的前端 後端 視覺化部分的業務邏輯。可以使用 django,flask 和 web2py 等工具和框架來完成。桌面應用也很常見,好的應用可以滿足相當大的...
最值得關注的10個C開源專案
開源世界有許多優秀的開源專案,我選取其中十個最優秀的 最輕量級的c語言的專案,希望可以為c語言開發人員提供參考。webbench是乙個在linux下使用的非常簡單的 壓測工具。它使用fork 模擬多個客戶端同時訪問我們設定的url,測試 在壓力下工作的效能,最多可以模擬3萬個併發連線去測試 的負載能...
最值得學習的10個C語言開源專案
搜尋詞 開源 c webbench是乙個在linux下使用的非常簡單的 壓測工具。它使用fork 模擬多個客戶端同時訪問我們設定的url,測試 在壓力下工作的效能,最多可以模擬3萬個併發連線去測試 的負載能力。webbench使用c語言編寫,實在太簡潔,原始碼加起來不到600行。cmockery是g...