新聞中心
允許您重用其他類中的屬性的 Python 魔法是這個“MyDiskMonitor(DiskMonitor)”語句。您只需在定義新類的名稱時,將先前的類的名稱放在括號內(nèi)。一旦完成此步驟,您立即可以訪問其他類屬性來做自己希望的事情。但是樂趣不僅于此。通過添加另一個通過電子郵件來發(fā)送標(biāo)記消息的方法。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的遂溪網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
也許是將其命名為 disk_alert(self),這樣就可以進(jìn)一步自定義新類。這是面向?qū)ο蟮脑O(shè)計的美妙之處;它允許有經(jīng)驗的開發(fā)人員不斷重用已編寫的代碼,從而節(jié)省大量的時間。 遺憾的是,面向?qū)ο蟮木幊桃灿衅洳焕囊幻妗K羞@些抽象都是以復(fù)雜性為代價的,如果抽象過度,可能會徹底地弄巧成拙。
由于 Python 支持多重繼承,抽象可以達(dá)到相當(dāng)有害的復(fù)雜程度。您是否能夠想象只是為了編寫一個方法也要查看多個文件的情況?無論相信與否,這種情況的確會發(fā)生,并且代表了面向?qū)ο缶幊痰牟恍椰F(xiàn)實。
面向?qū)ο蟮木幊痰奶娲桨甘呛瘮?shù)式編程,并且 Python 提供了用于進(jìn)行函數(shù)式以及面向?qū)ο蠛瓦^程式編程的資源。在最后一個示例中,我們將研究如何以函數(shù)式的方式編寫現(xiàn)已變得非常無聊的磁盤監(jiān)視代碼。
- from subprocess import Popen, PIPE
- import re
- def disk_space(pattern="2[0-9]%", message="CAPACITY WARNING:"):
- #Generator Pipeline To Search For Critical Items
- ps = Popen("df -h", shell=True,stdout=PIPE, stderr=PIPE)
- outline = (line.split() for line in ps.stdout)
- flag = (" ".join(row) for row in outline if re.search(pattern, row[-2]))
- for line in flag:
- print "%s %s" % (message,line)
- disk_space()
查看這最后一個示例,它與您從本文中看到的所有其他代碼的區(qū)別都非常大。如果您逐行瀏覽該代碼,可以首先從 “ps”變量中以前未見過的內(nèi)容開始。接下來的兩行代碼使用生成器表達(dá)式來處理文件對象 ps.stdout。
分析該文件并在其中搜索您正在查找的行。如果您將這些代碼行剪切并粘貼到交互式的 Python Shell 中。如果打印的話,您將看到概要和標(biāo)志都是生成器對象。生成器對象附帶有下一個方法,因而允許您通過“管道”將操作連在一起。
概要行從一行中去除新行字符,并往下將該行傳遞給下一個生成器表達(dá)式,后者一次一個地在每行中搜索某個正則表達(dá)式匹配項,然后將輸出傳遞給標(biāo)記。此類緊湊的工作流可以替代面向?qū)ο蟮木幊虡邮?,并且相?dāng)有趣。然而,這種樣式也有缺點,因為代碼的簡潔性會導(dǎo)致難于調(diào)試的錯誤。
除非獨(dú)立地執(zhí)行每一行代碼。函數(shù)式編程還很傷腦筋,因為它讓您通過將解決方案鏈接在一起來考慮解決問題。無論是從過程式還是從面向?qū)ο髽邮降慕嵌瓤?,這都是相當(dāng)不同的。
本文有點試驗性質(zhì),因為它從 Bash 和 PHP 談到了過程、面向?qū)ο?,并在最后談到了使用相同基本代碼的函數(shù)式 Python。但愿本文說明了 Python 是一種非常靈活和功能強(qiáng)大的語言。
其他編程語言的開發(fā)人員也可以學(xué)習(xí)欣賞。隨著 Python 的越來越流行,其他開發(fā)人員除了首選語言之外,學(xué)習(xí) Python 也將變得更加重要。 Python 最近的兩個最大的發(fā)展領(lǐng)域是 Web 開發(fā)和系統(tǒng)管理。就 Web 開發(fā)而言,PHP 開發(fā)人員可能很快就必須做出每周的選擇,即哪個項目采用 Python 更有意義。
以及哪個項目采用 PHP 更有意義。對于系統(tǒng)管理員、Bash 和 Perl 腳本程序員,他們經(jīng)常被要求采用 Python 完成某些項目。部分是因為這是沒有選擇的,部分是因為許多供應(yīng)商正在為他們的產(chǎn)品提供 Python API。在您的工具箱中準(zhǔn)備一點 Python 決不會傷害任何人。
【編輯推薦】
- 如何使Python嵌入C++應(yīng)用程序?
- 深入探討Ruby與Python語法比較
- Python學(xué)習(xí)資料介紹分享
- Python學(xué)習(xí)經(jīng)驗談:版本、IDE選擇及編碼解 決方案
- 淺析Python的GIL和線程安全
分享文章:對于Python靈活性說明介紹
網(wǎng)站URL:http://www.5511xx.com/article/dhhioic.html


咨詢
建站咨詢
