原创 提高Python性能的一些建議

    最近換住的地方,網費到期,有兩個星期沒更新博客了,博客還是要堅持寫的,有時候工作時遇到了相關問題,查看相關博客,還是能夠得到一些思路或者靈感。雖然寫篇博客要話費不少時間(我一般要花一個半小時到兩個小時之間),但是這中間碼字呀、歸納總

原创 Python:使用Counter進行計數統計及collections模塊

    計數統計就是統計某一項出現的次數。實際應用中很多需求需要用到這個模型。比如測試樣本中某一指出現的次數、日誌分析中某一消息出現的頻率等等‘這種類似的需求有很多實現方法。下面就列舉幾條。(1)使用dict看下面代碼#coding=utf

原创 Python:HTMLParser模塊進行簡單的html解析

    這是從用Python開發開始到現在第二次使用HTMLParser模塊進行html解析了,第一次用的時候,由於是剛剛接觸Python,對其中的一些用法不是很理解,因爲趕進度,雖然照着參考資料也寫出來了,但是其中的原理還是不怎麼了解。第

原创 Python:使用copy模塊深拷貝對象

    Python語言中有深拷貝和淺拷貝的概念,那什麼是深拷貝,淺拷貝呢?   淺拷貝(shallow copy):構造一個新的複合對象並將從原對象中發現的引用(也就是地址,而不是地址所指向的內容)插入該對象中。淺拷貝的實現方法有很多種,

原创 Python字符串的基本用法總結

    字符串序列用於表示和存儲文本,python中字符串是不可變對象。通常由單引號(' ),雙引號(" ),三引號(''' """)包圍,其中三引號可以由多行組成,編寫多行文本的快捷語法,常用語文檔字符串,在文件的特定地點,被當做註釋。便

原创 Nginx:虛擬主機配置

    繼續我的Nginx學習之旅,今天談談虛擬主機的配置。那何爲虛擬主機呢?虛擬主機使用的是特殊的軟硬件技術,它把一臺運行在因特網上的服務器主機分成一臺臺“虛擬”的主機,每臺虛擬主機都可以是一個獨立的網站,可以具有獨立的域名,具有完整的I

原创 Python:生成器

    生成器是Python中的一個高級用法,有段時間我對生成器的理解頗爲費勁,直到我看到一句話“yield語句掛起該生成器函數的狀態,保留足夠的信息,以便之後從它離開的地方繼續執行”後,讓我恍然大悟,這是生成器中的狀態掛起,這句話讓我想起

原创 Django模型的_meta編程

   Python有反射機制,Django也不例外,也有很好的反射機制,每個Django模型都有一個屬性_meta,_meta也有屬性和方法,這些屬性和方法反射出了模型的一些特性,如果_meta用的好的話,不僅可也是代碼更加優美,而且還可以

原创 Python:線程、進程與協程(7)——線程池

     前面轉載了一篇分析進程池源碼的博文,是一篇分析進程池很全面的文章,點擊此處可以閱讀。在Python中還有一個線程池的概念,它也有併發處理能力,在一定程度上能提高系統運行效率;不正之處歡迎批評指正。     線程的生命週期可以分爲5

原创 初用Cython編寫擴展模塊

    這篇博文還是講關於提高Python運行效率的,這確實是一個值得去仔細研究一番的問題,這篇博文介紹完Cython後,接着還要介紹線程、進程和協程在提高Python代碼運行效率起着怎樣的作用,那麼我的這個系列的博文基本上寫完了。   首

原创 Python:線程、進程與協程(3)——Queue模塊及源碼分析

    Queue模塊是提供隊列操作的模塊,隊列是線程間最常用的交換數據的形式。該模塊提供了三種隊列:Queue.Queue(maxsize):先進先出,maxsize是隊列的大小,其值爲非正數時爲無線循環隊列Queue.LifoQueue

原创 Python:線程、進程與協程(5)——multiprocessing模塊(2)

  上篇博文介紹了Python的multiprocessing模塊創建進程Process 類,進程間通信,進程間的同步三個部分,下面接着介紹學習進程共享。    (1)內存共享        在多進程情況下,由於每個進程有自己獨立的內存空間

原创 初用C/C++擴展Python,提高性能

    前段時間寫了兩篇文章介紹如何提高Python的運行效率,一篇是從python語言本身的角度去介紹的,另一篇是從解釋器角度(利用PyPy),有興趣的可以找着看看。從另外一個角度來介紹如何提高python運行效率,那就是利用c/c++來

原创 再探C/C++擴展Python

    上篇博文是初用c/c++擴展Python,只是簡單的舉個例子,有興趣的可以去上篇博文裏看看那個例子的代碼,代碼如下:#include<Python.h> static PyObject *pr_isprime(PyObject *s

原创 Python:MySQLdb中sql語句'in'和‘like’要注意的一些問題

    昨天優化了一個Django腳本,因爲我嫌它運行效率太慢,放棄了原有的使用Django的QuerySet API,改用第三方包MySQLdb,雖然用起來不方便(因爲要寫很多sql語句,所以相對於QuerySet API而言使用不是那麼