成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對于Python靈活性說明介紹

開發 后端
本文有點試驗性質,因為它從 Bash 和 PHP 談到了過程、面向對象,并在最后談到了使用相同基本代碼的函數式 Python。但愿本文說明了 Python 是一種非常靈活和功能強大的語言。

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

也許是將其命名為 disk_alert(self),這樣就可以進一步自定義新類。這是面向對象的設計的美妙之處;它允許有經驗的開發人員不斷重用已編寫的代碼,從而節省大量的時間。 遺憾的是,面向對象的編程也有其不利的一面。所有這些抽象都是以復雜性為代價的,如果抽象過度,可能會徹底地弄巧成拙。

由于 Python 支持多重繼承,抽象可以達到相當有害的復雜程度。您是否能夠想象只是為了編寫一個方法也要查看多個文件的情況?無論相信與否,這種情況的確會發生,并且代表了面向對象編程的不幸現實。

面向對象的編程的替代方案是函數式編程,并且 Python 提供了用于進行函數式以及面向對象和過程式編程的資源。在最后一個示例中,我們將研究如何以函數式的方式編寫現已變得非常無聊的磁盤監視代碼。

  1.                  
  2. from subprocess import Popen, PIPE  
  3. import re  
  4.  
  5. def disk_space(pattern="2[0-9]%"message="CAPACITY WARNING:"):  
  6.     #Generator Pipeline To Search For Critical Items  
  7.     ps = Popen("df -h", shell=True,stdout=PIPEstderr=PIPE)  
  8.     outline = (line.split() for line in ps.stdout)  
  9.     flag = (" ".join(row) for row in outline if re.search(pattern, row[-2]))  
  10.     for line in flag:  
  11.         print "%s %s" % (message,line)  
  12.  
  13. disk_space()  

查看這最后一個示例,它與您從本文中看到的所有其他代碼的區別都非常大。如果您逐行瀏覽該代碼,可以首先從 “ps”變量中以前未見過的內容開始。接下來的兩行代碼使用生成器表達式來處理文件對象 ps.stdout。

分析該文件并在其中搜索您正在查找的行。如果您將這些代碼行剪切并粘貼到交互式的 Python Shell 中。如果打印的話,您將看到概要和標志都是生成器對象。生成器對象附帶有下一個方法,因而允許您通過“管道”將操作連在一起。

概要行從一行中去除新行字符,并往下將該行傳遞給下一個生成器表達式,后者一次一個地在每行中搜索某個正則表達式匹配項,然后將輸出傳遞給標記。此類緊湊的工作流可以替代面向對象的編程樣式,并且相當有趣。然而,這種樣式也有缺點,因為代碼的簡潔性會導致難于調試的錯誤。

除非獨立地執行每一行代碼。函數式編程還很傷腦筋,因為它讓您通過將解決方案鏈接在一起來考慮解決問題。無論是從過程式還是從面向對象樣式的角度看,這都是相當不同的。

本文有點試驗性質,因為它從 Bash 和 PHP 談到了過程、面向對象,并在最后談到了使用相同基本代碼的函數式 Python。但愿本文說明了 Python 是一種非常靈活和功能強大的語言。

其他編程語言的開發人員也可以學習欣賞。隨著 Python 的越來越流行,其他開發人員除了首選語言之外,學習 Python 也將變得更加重要。 Python 最近的兩個最大的發展領域是 Web 開發和系統管理。就 Web 開發而言,PHP 開發人員可能很快就必須做出每周的選擇,即哪個項目采用 Python 更有意義。

以及哪個項目采用 PHP 更有意義。對于系統管理員、Bash 和 Perl 腳本程序員,他們經常被要求采用 Python 完成某些項目。部分是因為這是沒有選擇的,部分是因為許多供應商正在為他們的產品提供 Python API。在您的工具箱中準備一點 Python 決不會傷害任何人。

【編輯推薦】

  1. 如何使Python嵌入C++應用程序?
  2. 深入探討Ruby與Python語法比較
  3. Python學習資料介紹分享
  4. Python學習經驗談:版本、IDE選擇及編碼解 決方案
  5. 淺析Python的GIL和線程安全
責任編輯:chenqingxiang 來源: 博客園
相關推薦

2010-01-12 15:33:26

CC++

2010-02-23 17:04:32

Python編程語言

2013-02-26 10:44:26

2016-11-08 13:50:57

2015-12-31 09:44:56

公有云谷歌云評測

2014-04-30 15:52:59

紅帽

2022-10-10 18:39:01

legendapp前端框架

2009-01-01 22:08:15

企業網絡提高

2010-07-22 10:08:39

JavaFXJava

2010-01-06 12:16:46

Ubuntu軟件包

2009-01-22 19:03:32

服務器虛擬化VMware

2024-05-15 08:54:04

C++類型限定符代碼

2012-03-07 15:22:02

2014-05-08 13:31:43

移動安全協作系統

2012-09-25 13:45:36

Marvell

2010-07-20 09:18:48

云計算靈活性

2024-05-09 12:20:32

DellAPEX

2009-08-25 16:11:12

Repeater控件

2025-01-03 10:32:26

Spring責任鏈模式

2009-12-09 10:31:14

SOA質量SOA靈活性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情综合色综合啪啪五月 | 国产一区亚洲 | 日日日日操 | 黄视频网站在线 | 中文字幕免费在线 | 综合久久综合久久 | 成人国产精品久久久 | 黄色永久免费 | 国产精品美女久久久久aⅴ国产馆 | 久久精品一级 | 91久久国产综合久久 | 欧美一级在线观看 | 亚洲精品短视频 | 久久最新精品 | 精品视频一区二区三区在线观看 | 一级毛毛片 | 99精品99 | av片在线观看 | 日日天天| 国产精品1区2区3区 欧美 中文字幕 | 精品成人av | 欧美成人精品在线观看 | 美国一级毛片a | 成人在线视频一区 | 日韩人体在线 | 欧产日产国产精品视频 | 欧美一级一区 | 日韩精品一区二区三区视频播放 | av手机在线免费观看 | 91人人在线| 成人免费视频一区二区 | 三级在线观看 | 亚洲欧美网站 | 成人av网页 | 亚洲不卡一 | 欧美日韩a | 亚洲精品日韩综合观看成人91 | 91麻豆精品国产91久久久久久 | 日中文字幕在线 | 欧美一级二级在线观看 | 亚洲精品美女在线观看 |