Time of Update: 2016-06-10
1.os.popen運行shell列表命令複製代碼 代碼如下:def traverseDirByShell(path): for f in os.popen('ls ' + path): print f.strip()2.利用glob模組glob.glob(path)返回帶目錄的檔案名稱.萬用字元和shell相似.path不能包含shell變數.複製代碼 代碼如下:def traverseDirByGlob(path): path =
Time of Update: 2016-06-10
NLTK 是使用 Python 教學以及實踐計算語言學的極好工具。此外,計算語言學與人工 智能、語言/專門語言識別、翻譯以及語法檢查等領域關係密切。NLTK 包括什麼NLTK 會被自然地看作是具有棧結構的一系列層,這些層構建於彼此基礎之上。那些熟悉人工語言(比如 Python)的文法 和解析的讀者來說,理解自然語言模型中類似的 —— 但更深奧的 —— 層不會有太大困難。術語表全集(Corpora):相關文本的集合。例如,莎士比亞的作品可能被統稱為一個 文集(corpus);
Time of Update: 2016-06-10
簡單產生器有許多優點。產生器除了能夠用更自然的方法表達一類問題的流程之外,還極大地改善了許多效率不足之處。在 Python 中,函數調用代價不菲;除其它因素外,還要花一段時間解決函數參數列表(除了其它的事情外,還要分析位置參數和預設參數)。初始化架構對象還要採取一些建立步驟(據 Tim Peters 在 comp.lang.python 上所說,有 100 多行 C 語言程式;我自己還沒檢查 Python
Time of Update: 2016-06-10
在日常的編程中,我經常需要標識存在於文字文件中的組件和結構,這些文檔包括:記錄檔、設定檔、定界的資料以及格式更自由的(但還是半結構化的)報表格式。所有這些文檔都擁有它們自己的“小語言”,用於規定什麼能夠出現在文檔內。我編寫這些非正式解析任務的程式的方法總是有點象大雜燴,其中包括定製狀態機器、Regex以及上下文驅動的字串測試。這些程式中的模式大概總是這樣:“讀一些文本,弄清是否可以用它來做些什麼,然後可能再多讀一些文本,一直嘗試下去。”解析器將文檔中組件和結構的描述提煉成簡明、清晰和
Time of Update: 2016-06-10
在我以前介紹 Python 2.4 特性的Blog中已經介紹過了decorator了,不過,那時是照貓畫虎,現在再仔細描述一下它的使用。關於decorator的詳細介紹在 Python 2.4中的What's new中已經有介紹,大家可以看一下。如何調用decorator基本上調用decorator有兩種形式第一種:複製代碼 代碼如下:@Adef f ():這種形式是decorator不帶參數的寫法。最終 Python 會處理為:複製代碼 代碼如下:f = A(f)還可以擴充成:複製代碼
Time of Update: 2016-06-10
dictionary我們都曾經使用過語言詞典來尋找不認識的單詞的定義。語言詞典針對給定的單詞(比如 python)提供一組標準的資訊。這種系統將定義和其他資訊與實際的單詞關聯(映射)起來。使用單詞作為鍵定位器來尋找感興趣的資訊。這種概念延伸到 Python 程式設計語言中,就成了特殊的容器類型,稱為 dictionary。dictionary 資料類型在許多語言中都存在。它有時候稱為關聯 數組(因為資料與一個索引值相關聯),或者作為散列表。但是在 Python 中,dictionary
Time of Update: 2016-06-10
Pyrex 是一種專門設計用來編寫 Python 擴充模組的語言。根據 Pyrex Web 網站的介紹,“它被設計用來在友好易用的進階 Python 世界和淩亂的低級 C 世界之間搭建一個橋樑。”雖然幾乎所有的 Python 代碼都可以作為有效 Pyrex 代碼使用,但是您可以在 Pyrex 代碼中添加可選的靜態型別宣告,從而使得這些聲明過的對象以 C 語言的速度運行。加速 Python從某種意義上來說,Pyrex 只是不斷髮展的 Python
Time of Update: 2016-06-10
python中with可以明顯改進代碼友好度,比如:複製代碼 代碼如下:with open('a.txt') as f: print f.readlines() 為了我們自己的類也可以使用with, 只要給這個類增加兩個函數__enter__, __exit__即可:複製代碼 代碼如下:>>> class A: def __enter__(self): print 'in enter' def __exit__(self, e_t, e_v,
Time of Update: 2016-06-10
isinstance(object, classinfo)判斷執行個體是否是這個類或者objectobject是變數 classinfo 是類型(tuple,dict,int,float) 判斷變數是否是這個類型 複製代碼 代碼如下: class objA: pass A = objA() B = 'a','v' C = 'a string' print isinstance(A, objA) print isinstance(B, tuple)
Time of Update: 2016-06-10
簡單類型內建到 Python 程式設計語言中的單一資料型別包括: bool int float complex支援單一資料型別不是 Python 專屬的功能,因為多數現代程式設計語言都具有完整類型補充。例如 Java? 語言甚至有一組更豐富的未經處理資料類型: byte short int long float double char boolean但是,在 Python
Time of Update: 2016-06-10
少勞多得Decorator 與 Python 之前引入的元編程抽象有著某些共同之處:即使沒有這些技術,您也一樣可以實現它們所提供的功能。正如 Michele Simionato 和我在 可愛的 Python 專欄的早期文章 中指出的那樣,即使在 Python 1.5 中,也可以實現 Python 類的建立,而不需要使用 “元類” 掛鈎。Decorator 根本上的平庸與之非常類似。Decorator 所實現的功能就是修改緊接 Decorator
Time of Update: 2016-06-10
1.命令介紹最近學習並使用了一個python的內建函數dir,首先help一下:複製代碼 代碼如下:>>> help(dir)Help on built-in function dir in module __builtin__:dir() dir([object]) -> list of strings Return an alphabetized list of names comprising (some of) the attributes of the given
Time of Update: 2016-06-10
有幾個原因使您可能想用 C 擴充 Zope。最可能的是您有一個已能幫您做些事的現成的 C 庫,但是您對把它轉換成 Python 卻不感興趣。此外,由於 Python 是解釋性語言,所以任何被大量調用的 Python 代碼都將降低您的速度。因此,即使您已經用 Python 寫了一些擴充,您仍然要考慮把其中最常被調用的部分改用 C 來寫。不論哪種方式,擴充 Zope 都是從擴充 Python 開始。此外,擴充 Python 會給您帶來其它的好處,因為您的代碼將可以從任何 Python
Time of Update: 2016-06-10
一般來說,選擇用於應用程式的 GUI 工具箱會是一件棘手的事。使用 Python(許多語言也一樣)的程式員可以選擇的 GUI 工具箱種類繁多,而每個工具箱都有各自的優缺點。有些速度比其它工具箱快,有些比較小;有些易於安裝,有些更適合於跨平台使用(對於這一點,還要指出,有些支援您需要滿足的特定特性)。當然,各種庫都相應具有各種許可證。對於 Python 程式員而言,預設的 GUI 選擇是 Tk(通過 Tkinter 綁定)— 其原因顯而易見。Tkinter 和閑置的 IDE 是由 Python
Time of Update: 2016-06-10
引用是指儲存的值為對象的地址。在 Python 語言中,一個變數儲存的值除了基本類型儲存的是值外,其它都是引用,因此對於它們的使用就需要小心一些。下面舉個例子:問題描述:已知一個列表,求產生一個新的列表,列表元素是原列表的複製複製代碼 代碼如下:a=[1,2]b=a這種做法其實並未真正產生一個新的列表,b指向的仍然是a所指向的對象。這樣,如果對a或b的元素進行修改,a,b的值同時發生變化。解決的方法為:複製代碼 代碼如下:a=[1,2]b=a[:]這樣修改a對b沒有影響。修改b對a沒有影響。但
Time of Update: 2016-06-10
我要坦白一點。儘管我是一個應用相當廣泛的公用域 Python 庫的創造者,但在我的模組中引入的單元測試是非常不系統的。實際上,那些測試大部分 是包括在 gnosis.xml.pickle 的 Gnosis Utilities 中的,並由該子軟體包(subpackage)的貢獻者所編寫。我還發現,我下載的絕大多數第三方 Python 包都缺少完備的單元測試集。不僅如此,Gnosis Utilities 中現有的測試也受困於另一個缺陷:您經常需要在極其大量的細節中去推定期望的輸出,以確定測試的成敗。
Time of Update: 2016-06-10
Python 是用於編碼圖形介面的極佳語言。由於可以迅速地編寫工作代碼並且不需要費時的編譯周期, 所以可以立即使介面啟動和運行起來,並且不久便可使用這些介面。 將這一點與 Python 易於連結本機庫的能力結合起來,就可以形成一個出色的環境。gnome-python 是為 Python 封裝 GNOME 及其相關庫的軟體包。 這使您能夠用 Python 編寫外觀與核心 GNOME 應用程式完全相同的應用程式,而所花的時間只是用 C 編寫該應用程式所花的一部分。然而,不用 C
Time of Update: 2016-06-10
Python list在介紹 Python tuple 時,我使用了類比的方法,將其比做一個袋子,您可以在袋子中存放不同的東西。Python list 與此非常類似,因此,它的功能與袋子的功能也非常類似。但有一點是不同的,即您可以使用方括弧建立 list,如清單 1 所示。清單 1. 在 Python 中建立一個 list>>> l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> l[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> type(l)>>>
Time of Update: 2016-06-10
一、簡介Python是一門功能強大的進階指令碼語言,它的強大不僅表現在其自身的功能上,而且還表現在其良好的可擴充性上,正因如此,Python已經開始受到越來越多人的青睞,並且被屢屢成功地應用於各類大型軟體系統的開發過程中。與其它普通指令碼語言有所不同,Python程式員可以藉助Python語言提供的API,使用C或者C++來對Python進行功能性擴充,從而即可以利用Python方便靈活的文法和功能,又可以獲得與C或者C++幾乎相同的執行效能。執行速度慢是幾乎所有指令碼語言都具有的共性,也是倍受
Time of Update: 2016-06-10
熱的東西顯然會變涼。房間會會人沮喪地變得淩亂。幾乎同樣,訊息會失真。逆轉這些情況的短期策略分別是重新加熱、 做衛生和使用 Hopfield 網路。本文向您介紹了三者中的最後一個,它是一個只需要特定的參數就可以消除雜訊的演算法。net.py 是一個特別簡單的 Python 實現,將向您展示它的基本部分如何結合到一起,以及為何 Hopfield 網路有時可以自失真的圖案中 重新得到原圖案。儘管這個實現有局限性,不過仍然可以讓您獲得關於 Hopfield