python实战一个完整的项目-这4个Python实战项目,让你瞬间读懂Python!
前言
Python 是一種極具可讀性和通用性的編程語言。Python 這個名字的靈感來自于英國喜劇團體 Monty Python,它的開發團隊有一個重要的基礎目標,就是使語言使用起來很有趣。Python 易于設置,并且是用相對直接的風格來編寫,對錯誤會提供即時反饋,對初學者而言是個很好的選擇。
Python 是一種多范式語言,也就是說,它支持多種編程風格,包括腳本和面向對象,這使得它適用于通用目的。隨著越來越多地在工業中,被諸如聯合太空聯盟(NASA 的主要飛機支持承包商)和工業光魔(VFX 和盧卡斯影業的動畫工作室)等組織使用,Python 為那些尋求額外編程語言的人提供了巨大的潛力 。
當一個重要的被稱為 comp.lang.python 的 Python 新聞組在 1994 年形成時,Python 的用戶基礎不斷增長,這為 Python 成為開源開發中最受歡迎的編程語言之一鋪平了道路。
Python當下真的很火。Python實戰項目,也一直尤為關注,接下來,和大家介紹下Python練手的實戰項目。
python項目練習一:即時標記
這是《python基礎教程》后面的實踐,照著寫寫,一方面是來熟悉python的代碼方式,另一方面是練習使用python中的基本的以及非基本的語法,做到熟能生巧。
這個項目一開始比較簡單,不過重構之后就有些復雜了,但是更靈活了。
按照書上所說,重構之后的程序,分為四個模塊:處理程序模塊,過濾器模塊,規則(其實應該是處理規則),語法分析器。
先來說處理程序模塊,這個模塊的作用有兩個,一個是提供那些固定的html標記的輸出(每一個標記都有start和end),另一個是對這個標記輸出的開始和結束提供了一個友好的訪問接口。來看下程序handlers.py:
這個程序堪稱是整個"項目”的基石所在:提供了標簽的輸出,以及字符串的替換。理解起來也比較簡單。
再來看第二個模塊"過濾器”,這個模塊更為簡單,其實就是一個正則表達式的字符串。相關代碼如下:
這就是三個過濾器了,分別是:強調牌過濾器(用×號標出的),url牌過濾器,email牌過濾器。熟悉正則表達式的同學理解起來是沒有壓力的。
再來看第三個模塊"規則”,這個模塊,拋開那祖父類不說,其他類應該有的兩個方法是condition和action,前者是用來判斷讀進來的字符串是不是符合自家規則,后者是用來執行操作的,所謂的執行操作就是指調用"處理程序模塊”,輸出前標簽、內容、后標簽。 來看下這個模塊的代碼,其實這個里面幾個類的關系,畫到類圖里面看會比較清晰。 rules.py:
補充utils.py:
如果你在學習Python的過程中遇見了很多疑問和難題,可以加-q-u-n 227 -435-450里面有軟件視頻資料免費
總結一下:
最后隆重的來看下"語法分析器模塊”,這個模塊的作用其實就是協調讀入的文本和其他模塊的關系。在往重點說就是,提供了兩個存放"規則”和"過濾器”的列表,這么做的好處就是使得整個程序的靈活性得到了極大的提高,使得規則和過濾器變成的熱插拔的方式,當然這個也歸功于前面在寫規則和過濾器時每一種類型的規則(過濾器)都單獨的寫成了一個類,而不是用if..else來區分。 看代碼:
這個模塊里面的處理思路是,遍歷客戶端(也就是程序執行的入口)給插進去的所有的規則和過濾器,來處理讀進來的文本。
有一個細節的地方也要說一下,其實是和前面寫的呼應一下,就是在遍歷規則的時候通過調用condition這個東西來判斷是否符合當前規則。
我覺得這個程序很像是命令行模式,有空可以復習一下該模式,以保持記憶網節點的牢固性。
最后說一下我以為的這個程序的用途:
1、用來做代碼高亮分析,如果改寫成js版的話,可以做一個在線代碼編輯器。
上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8017),我們將立即處理。
21/212>
總結
以上是生活随笔為你收集整理的python实战一个完整的项目-这4个Python实战项目,让你瞬间读懂Python!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跟老肖聊天
- 下一篇: 我是在这里学到的Linux知识的