Time of Update: 2017-01-19
異常(exceptions)是Python中一種非常重要的類型,它和語法錯誤不同,是在程式運行期間引發的錯誤。Python中內建了很多異常,如IOError,NameError,KeyboardInterrupt等,更多的異常可以點擊這裡。異常的意義在於提供一種更加優雅的運行方式,例如用Python編寫一個計算機,如果使用者輸入不能計算的對象,則可以拋出異常,並進行處理, 如下:while True: try: x= int(input('Please In enter A
Time of Update: 2017-01-19
問題是在Python中進行迴圈的時候產生的,熟悉Python的都知道,它沒有類似其它語言中的for迴圈, 只能通過for in的方式進行迴圈遍曆。最典型的應用就是通過range函數產生一個列表,然後用for in進行操作,如下:複製代碼 代碼如下:#!/usr/bin/env pythonfor i in range(10): print i代碼的意義很好理解,range會產生一個列表,用for in最這個列表進行遍曆,就有和類似for(i = 0;i<
Time of Update: 2017-01-19
前面說了descriptor,這個東西其實和Java的setter,getter有點像。但這個descriptor和上文中我們開始提到的函數方法這些東西有什麼關係呢?所有的函數都可以是descriptor,因為它有__get__方法。複製代碼 代碼如下:>>> def hello(): pass >>> dir(hello) ['__call__', '__class__',
Time of Update: 2017-01-19
With語句是什嗎?有一些任務,可能事先需要設定,事後做清理工作。對於這種情境,Python的with語句提供了一種非常方便的處理方式。一個很好的例子是檔案處理,你需要擷取一個檔案控制代碼,從檔案中讀取資料,然後關閉檔案控制代碼。如果不用with語句,代碼如下:複製代碼 代碼如下:file = open("/tmp/foo.txt")data =
Time of Update: 2017-01-19
最近需要對節點到來源站點自己做個監控,簡單的ping可以檢測到一些東西,但是http請求的檢查也要進行,於是就研究了下pycurl。pycurl是個用c語言實現的python 庫,雖然據說不是那麼pythonic,但是卻很高效,它支援的協議居多:supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP
Time of Update: 2017-01-19
常見列表對象操作方法:list.append(x)把一個元素添加到鏈表的結尾,相當於 a[len(a):] = [x] 。list.extend(L)將一個給定列表中的所有元素都添加到另一個列表中,相當於 a[len(a):] = L 。list.insert(i, x)在指定位置插入一個元素。第一個參數是準備插入到其前面的那個元素的索引,例如 a.insert(0, x) 會插入到整個鏈表之前,而 a.insert(len(a), x) 相當於 a.append(x)
Time of Update: 2017-01-19
最近學習下python,將從指定目錄中過濾出指定檔案類型的檔案輸出的方法總結一下,供日後查閱複製代碼 代碼如下:#!/usr/bin/env pythonimport globimport osos.chdir(“./”)for file in glob.glob(“*.py”):print fileprint “#######Another One##########”for file in os.listdir(“./”):if file.endswith(“.py”):print
Time of Update: 2017-01-19
1.演算法:(設尋找的數組期間為array[low, high])(1)確定該期間的中間位置K(2)將尋找的值T與array[k]比較。若相等,尋找成功返回此位置;否則確定新的尋找地區,繼續二分尋找。地區確定如下:a.array[k]>T 由數組的有序性可知array[k,k+1,……,high]>T;故新的區間為array[low,……,K-1]b.array[k]<T
Time of Update: 2017-01-19
python提供了兩個非常重要的功能來處理python程式在運行中出現的異常和錯誤。你可以使用該功能來調試python程式。1.異常處理: 本站Python教程會具體介紹。2.斷言(Assertions):本站Python教程會具體介紹。python標準異常 異常名稱 描述 BaseException 所有異常的基類 SystemExit 解譯器請求退出
Time of Update: 2017-01-19
複製代碼 代碼如下:"""This module contains code fromThink Python by Allen B. Downeyhttp://thinkpython.comCopyright 2012 Allen B. DowneyLicense: GNU GPLv3 http://www.gnu.org/licenses/gpl.html"""import osdef walk(dirname): """Finds the names
Time of Update: 2017-01-19
在python中使用列表的時候大家經常會需要向一個列表中添加一個元素,像下面這兩種使用方法需要注意:複製代碼 代碼如下:t = [1, 2, 3]t1 = t.append([4])t2 = t + [4]以上兩種使用方式是有區別的,我們來看看實際啟動並執行效果:複製代碼 代碼如下:>>> t = [1, 2, 3]>>> t1 = t.append([4])>>> t[1, 2, 3, [4]]>>> t1>>
Time of Update: 2017-01-19
Tuple 是不可變 list。 一旦建立了一個 tuple 就不能以任何方式改變它。Tuple 與 list 的相同之處定義 tuple 與定義 list 的方式相同, 除了整個元素集是用小括弧包圍的而不是方括弧。Tuple 的元素與 list 一樣按定義的次序進行排序。 Tuples 的索引與 list 一樣從 0 開始, 所以一個非空 tuple 的第一個元素總是 t[0]。負數索引與 list 一樣從 tuple 的尾部開始計數。與 list 一樣分區 (slice)
Time of Update: 2017-01-19
前言:Redhat下安裝Python2.7rhel6.4內建的是2.6, 發現有的機器是python2.4。 到python網站下載原始碼,解壓到Redhat上,然後運行下面的命令:複製代碼 代碼如下:# ./configure --prefix=/usr/local/python27# make# make
Time of Update: 2017-01-19
最近因為想要看漫畫,無奈下載的漫畫是jpg的格式,網上的轉換器還沒一個好用的,於是乎就打算用python自己DIY一下:這裡主要用了reportlab。開始打算隨便寫幾行,結果為若干坑糾結了挺久,於是乎就想想乾脆把代碼寫好點吧。實現了以下的幾項功能:將當前檔案夾下的圖片儲存到一個pdf中,支援選擇pdf大小等如果有需要可以遍曆它下面的所有檔案夾簡單的來說完全滿足我將漫畫轉成pdf格式的需求了。碰到了一些問題,這裡記錄下:一、中文路徑:這個實在是略蛋疼,總之就是盡量都decode一遍。然後注意wi
Time of Update: 2017-01-19
雖然Python被說成是一種解釋型語言,但是實際上,Python來源程式要先經過編譯,然後才能運行。與Java語言類似,Python來源程式編譯之後得到的是位元組碼,交由Python虛擬機器來運行。關於這一點,我們可以這樣來驗證:複製代碼 代碼如下:#!/usr/bin/python print "position1"1_syntax_error_identifierprint "position2"將它儲存為program.py,然後在shell視窗中運行它:複製代碼
Time of Update: 2017-01-19
一般來說,在Python中,類執行個體屬性的訪問規則算是比較直觀的。但是,仍然存在一些不是很直觀的地方,特別是對C++和Java程式員來說,更是如此。在這裡,我們需要明白以下幾個地方:1.Python是一門動態語言,任何實體都可以動態地添加或刪除屬性。2.一個類定義了一個範圍。3.類執行個體也引入了一個範圍,這與相應類定義的範圍不同。4.在類執行個體中尋找屬性的時候,首先在執行個體自己的範圍中尋找,如果沒有找到,則再在類定義的範圍中尋找。5.在對類執行個體屬性進行賦值的時候,實際上會在類執行個體
Time of Update: 2017-01-19
Python是靜態範圍語言,儘管它自身是一個動態語言。也就是說,在Python中變數的範圍是由它在原始碼中的位置決定的,這與C有些相似,但是Python與C在範圍方面的差異還是非常明顯的。接下來會談論Python的範圍規則,在這中間也會說明一下Python與C在範圍方面的不同。在Python 2.0及之前的版本中,Python只支援3種範圍,即局部範圍,全域範圍,內建範圍;在Python 2.2中,Python正式引入了一種新的範圍 --- 嵌套範圍;在Python
Time of Update: 2017-01-19
在Python中,任何類型的對象都可以做真值測試,並且保證返回True或者False。以下幾種值(不論類型)在真值測試中返回False:1.None2.False3.任何類型的數字0,包括0,0.0,0L,0j4.空的序列(sequence)或者映射(mapping)類型對象5.對於使用者自訂類型的對象,如果其類定義了__nonzero__() 或者
Time of Update: 2017-01-19
Python自身作為一門程式設計語言,它有多種實現。這裡的實現指的是符合Python語言規範的Python解釋程式以及標準庫等。這些實現雖然實現的是同一種語言,但是彼此之間,特別是與CPython之間還是有些差別的。下面分別列出幾個主要的實現。1.CPython:這是Python的官方版本,使用C語言實現,使用最為廣泛,新的語言特性一般也最先出現在這裡。CPython實現會將源檔案(py檔案)轉換成位元組碼檔案(pyc檔案),然後運行在Python虛擬機器上。2.Jython:這是Python的
Time of Update: 2017-01-19
python語言本身沒有提供const,但實際開發中經常會遇到需要使用const的情形,由於語言本身沒有這種支出,因此需要使用一些技巧來實現這一功能定義const類如下複製代碼 代碼如下:import sysclass Const(object): class ConstError(TypeException): pass def __setattr__(self, key,