Time of Update: 2018-12-05
上次是wxWidget,這次又發現一個cURL。python版本分別叫做wxPython和pycurl。 wxWidget並不能算是一個特別牛的庫,至少介面設計上還是MFC層級的,對xml也沒有能用的支援,拼個介面很累。但是你猜不到的是,就這麼爛的介面,用Python寫出來的程式依然不長。 還有人用Python寫Win32的視窗程序,也不長。 今天用到個libcurl,把C++版的測試代碼和Python版本貼出來對比一下。import
Time of Update: 2018-12-05
由於最近工作需要,開始接觸python這門語言。正在體驗他的新奇,第一個讓我迷惑的概念就是類的變數與對象的變數。雖然可以簡單的將他們映射為C++等物件導向語言中類的static成員與普通成員,但是個人覺得對象的變數這種概念過於靈活。譬如#! /usr/bin/python# Filename:object.pyclass Person: countofperson = 0 def __init__(self,name): self.name = name
Time of Update: 2018-12-05
第三章:使用字串基底字元串操作 >>> format = "Hello,%s,%s enough for ya?">>> values = ('world','Hot')>>> print format % valuesHello,world,Hot enough for ya?>>> format = "Pi with three decimals: %.3f">>> from math import
Time of Update: 2018-12-04
一、python中的 os.system(cmd)的傳回值與linux命令傳回值(具體參見本文附加內容)的關係大家都習慣用os.systemv()函數執行linux命令,該函數的傳回值十進位數(分別對應一個16位的位元)。該函數的傳回值與linux命令傳回值兩者的轉換關係為:該函數的傳回值(十進位)轉化成16位元,截取其高八位(如果低位元是0的情況下,有關作業系統的錯誤碼共131個,所以低位都是零),然後轉乘十進位數即為 linux命令傳回值0。例如:os.system()傳回值為0
Time of Update: 2018-12-07
寫檔案import osls=os.linesep#get filenamefname=raw_input('Enter file name: ')if os.path.exists(fname):print "Error:"+fname#get file contentall=[]print "\nEnter lines ('.' by itself to quit).\n"while True: entry=raw_input('> ')if
Time of Update: 2018-12-07
python中的ARC4是由:http://pythonhosted.org/pycrypto/來提供的,在linux下預設就存在。 但是裡面沒有很好的描述該如何ARC4。 1、ARC4不支援UTF-8等編碼,所以只能夠傳遞binary,如果嫌麻煩,可以用base64進行編碼前的處理。2、ARC.new出來的對象,每次encrypt的時候,會儲存結果,下一次使用的時候會繼續使用。所以這個需要避免,採用函數方式調用產生。
Time of Update: 2018-12-07
python對json的相關操作 說實話,不做前端開發,對json真沒有太特殊的感情,最近遇到python操作json,束手無策,也準備簡單瞭解下相關知識。以前剛聽到json的時候,總把它誤以為一種語言,不料,它卻是一種資料結構。我按了tab鍵發現json的方法很少,只有6個,並且兩兩互逆。查看json的使用方法,除了官方的文檔(http://docs.python.org/2/library/json.html),還可以一個命令解決:>>>
Time of Update: 2018-12-07
1 變數和賦值:Python是動態類型語言,不需要預先聲明變數的類型。變數的類型在賦值的那一刻被初始化。Python變數名是大小寫敏感的,即“cAsE”與“CaSe”是不同的變數,Python區分大小寫。2 數字:Python有五種基本類型的數字。int(有符號整數)、long(長整)、bool(布爾)、float(浮點數)、complex(複數)。值得注
Time of Update: 2018-12-07
python 擷取日期我們需要用到time模組,比如time.strftime方法time.strftime('%Y-%m-%d',time.localtime(time.time()))最後用time.strftime()方法,把剛才的一大串資訊格式化成我們想要的東西,現在的結果是:2013-03-31time.strftime裡面有很多參數,可以讓你能夠更隨意的輸出自己想要的東西:下面是time.strftime的參數:strftime(format[, tuple]) ->
Time of Update: 2018-12-07
《笨辦法學 Python》(Learn Python The Hard Way)是 Zed Shaw 編寫的一本 Python 入門書籍。適合對電腦瞭解不多,沒有學過編程,但對編程感興趣的朋友學習使用。這本書以習題的方式引導讀者一步一步學習編程,從簡單的列印一直講到完整 項目的實現。也許讀完這本書並不意味著你已經學會了編程,但至少你會對程式設計語言以及編程這個行業有一個初步的瞭解。筆者認為本書區別於其它入門書籍的特點如下:
Time of Update: 2018-12-07
單例模式:保證一個類僅有一個執行個體,並提供一個訪問他的全域訪問點。 實現某個類只有一個執行個體的途徑:1,讓一個全域變數使得一個對象被訪問,但是他不能防止外部執行個體化多個對象。2,讓類自身儲存他的唯一執行個體,這個類可以保證沒有其他執行個體可以被建立。多線程時的單例模式:加鎖-雙重鎖定餓漢式單例類:在類被載入時就將自己執行個體化(靜態初始化)。其優點是躲避了多線程訪問的安全性問題,缺點是提前佔用系統資源。懶漢式單例類:在第一次被引用時,才將自己執行個體化。避免開始時佔用系統資源,但是有多線程
Time of Update: 2018-12-07
#對象序列化import pickled={"a":"中國"}a=pickle.dumps(d,2)#序列化二進位print af=open("data","wb")f.write(a)f.close()#對象還原序列化import picklef = open("data","rb")a=f.read()d=pickle.loads(a)print d['a']中文也需要被視為位元據,pickle.dumps(d,2)第2個參數取值範圍是(0,1,2)
Time of Update: 2018-12-07
今天在看其他同事的代碼時,發現一個沒使用過的python關鍵字 :yield 先問了一下同事,聽他說了幾句,有個模糊的印象,僅僅是模糊而已。於是自己去搜搜資料看。看了半天,逐漸清晰了。不過在工作機制以及應用上還是有點迷茫。嗯,先把初始接觸的印象記下來吧。 yield 簡單說來就是一個產生器(Generator)。產生器是這樣一個函數:它記住上一次返回時在函數體中的位置。對產生器函數的第二次(或第 n 次)調用跳轉至該函數中間,而上次調用的所有局部變數都保持不變。
Time of Update: 2018-12-07
說到python的gui,我不熟悉,目前主要python方面還是主要是用python來寫指令碼和web開發這塊,沒有涉及到寫軟體這塊,不過以後準備去研究python軟體開發這塊,畢竟python是個萬能語言,python什麼領域都要去玩玩,太喜歡python了!不說那麼多了,呵呵!還是把話題轉回來吧,我在網上大體的瞭解了下python gui分類,大概有下面的幾個:1 Tkinter:比較適合小型項目的開發,開發速度比較快,也是python gui開發的基礎。2
Time of Update: 2018-12-07
python dict的特點就是無序的,按照key來提取相應value,如果我們需要對value進行排序的話,那python dict排序可以按照下面的方法來進行:下面的是按照value的值從大到小的順序來排序。dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)print dict輸出的結果:[('aa', 74
Time of Update: 2018-12-07
1 setattr():setattr()表示你可以通過該方法,給對象添加或者修改指定的屬性。setattr()方法接受3個參數:setattr(對象,屬性,屬性的值)2 delattr():而delattr()表示你可以通過該方法,刪除指定的對象屬性。delattr方法接受2個參數:delattr(對象,屬性)下面是代碼的應用#encoding=utf-8class student(object): def __init__(self,name,age): self.name
Time of Update: 2018-12-07
文章目錄 1、使用者輸入2、檔案3、儲存器(pickle) 十、輸入/輸出一些情況下你不得不讓程式與使用者進行互動。例如,你需要從使用者處得到輸入然後輸出計算結果。我們可以分別通過input()和print()函數做到這些。 對於輸出,我們還可以使用str(string)類的各種方法。例如rjust方法可以得到一個指定寬度的靠右對齊字串。詳見help(str)。
Time of Update: 2018-12-07
1. YASnippet2. AutoComplete3. rope pip install rope4. pymacs(1) make install (2) 然後將編譯出來的pymacs.el拷貝到load path中 (3)或者位元組編譯它: 啟動 emacs, 執行 M-x byte-compile-file RET pymacs.el RET 此命令將產生 pymacs.elc 檔案。 可以通過如下方法檢驗是否安裝正確. 啟動
Time of Update: 2018-12-07
>>> l=range(3)>>> t=(3,4,5)>>> l[0, 1, 2]>>> t(3, 4, 5)>>> l.extend(t)>>> l[0, 1, 2, 3, 4, 5]>>> l+=t>>> l[0, 1, 2, 3, 4, 5, 3, 4, 5]看來list對象的+=操作和extend方法有異曲同工之處.如果我們直接l+t,就會報錯,
Time of Update: 2018-12-07
python也有邏輯上的分行鍵\。類似MATLAB裡面的…input and output#!/usr/bin/python# Filename: using_file.pypoem = '''\Programming is funWhen the work is doneif you wanna make your work also fun:use Python!'''f = file('poem.txt', 'w') # open for 'w'ritingf.write(poem) #