Time of Update: 2016-07-06
如果你已經學習了包,模組這些知識了。你會不會有好奇:Python為什麼可以直接使用一些內建函數,不用顯式的匯入它們,比如 str() int() dir() ...?原因是Python解譯器第一次啟動的時候 __builtins__ 就已經在命名空間了(Note: 有s)進Shell看看:>>> globals(){'__builtins__': , '__name__': '__main__', '__doc__': None, '__package__': None}你可以再次匯入
Time of Update: 2016-07-06
ThreadLocal,直譯為“執行緒區域”或“本地線程”,如果你真的這麼認為,那就錯了!其實,它就是一個容器,用於存放線程的局部變數,我認為應該叫做 ThreadLocalVariable(線程局部變數)才對,真不理解為什麼當初 Sun 公司的工程師這樣命名。早在 JDK 1.2 的時代,java.lang.ThreadLocal
Time of Update: 2016-07-06
相對或者絕對import 更多的複雜部分已經從python2.5以來實現:匯入一個模組可以指定使用絕對或者包相對的匯入。這個計劃將移動到使絕對的匯入成為預設的細節在其他版本的python中。我們假設你有一個包目錄,像下面這樣:pkg/pkg/__init__.pypkg/main.pypkg/string.py上面定義了一個包稱為 pkg 包含 pkg.main 和pkg.string 兩個子模組。考慮在‘main.py'中的代碼,什麼事情會發生如果我們執行語句 import string
Time of Update: 2016-07-06
Mixin模式是一種在python裡經常使用的模式,適當合理的應用能夠達到複用代碼,合理組織代碼結構的目的。Python的Mixin模式可以通過多繼承的方式來實現, 舉例來說,我們自訂一個簡單的具有嵌套結構的資料容器:class SimpleItemContainer(object): def __init__(self, id, item_containers): self.id = id self.data = {} for item in
Time of Update: 2016-07-06
1:readline()file = open("sample.txt") while 1: line = file.readline() if not line: break pass # do somethingfile.close()一行一行得從檔案讀資料,顯然比較慢;不過很省記憶體;測試讀10M的sample.txt檔案,每秒大約讀32000行;2:fileinputimport fileinput for line in
Time of Update: 2016-07-06
進程與線程的曆史我們都知道電腦是由硬體和軟體組成的。硬體中的CPU是電腦的核心,它承擔電腦的所有任務。 作業系統是運行在硬體之上的軟體,是電腦的管理者,它負責資源的管理和分配、任務的調度。 程式是運行在系統上的具有某種功能的軟體,比如說瀏覽器,音樂播放器等。 每次執行程式的時候,都會完成一定的功能,比如說瀏覽器幫我們開啟網頁,為了保證其獨立性,就需要一個專門的管理和控制執行程式的資料結構——進程式控制制塊。 進程就是一個程式在一個資料集上的一次動態執行過程。
Time of Update: 2016-07-06
本文執行個體講述了python中的lambda運算式用法。分享給大家供大家參考,具體如下:這裡來為大家介紹一下lambda函數。匿名函式是一種快速定義單行的最小函數,是從 Lisp 借用來的,可以用在任何需要函數的地方 。下面的例子比較了傳統的函數定義def與lambda定義方式:>>> def f ( x ,y):... return x * y...>>> f ( 2,3 )6>>> g = lambda x ,y: x * y>>> g ( 2,3
Time of Update: 2016-07-06
在匯入檔案的時候,Python只搜尋當前指令碼所在的目錄,載入(entry-point)入口指令碼運行目錄和sys.path中包含的路徑例如包的安裝地址。所以如果要在當前指令碼引用其他檔案,除了將檔案放在和指令碼同一目錄下,還有以下幾種方法,1. 將檔案所在位置添加到sys.path中import syssys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/
Time of Update: 2016-07-06
1. 計算給出兩個時間之間的時間差import datetime as dt# current timecur_time = dt.datetime.today()# one daypre_time = dt.date(2016, 5, 20) # eg: 2016.5.20delta = cur_time - pre_time# if you want to get discrepancy in daysprint delta.days# if you want to get
Time of Update: 2016-07-06
本文講述了python安裝mysql-python的方法。分享給大家供大家參考,具體如下:ubuntu 系統下進行的操作首先安裝了pip工具sudo apt-get install python-pip然後使用sudo pip install mysql-python安裝第三方庫.但是此時報錯sh: mysql_config: not foundTraceback (most recent call last): File "setup.py", line 15, in metadata,
Time of Update: 2016-07-06
scipy.misc.logsumexp函數的輸入參數有(a, axis=None, b=None, keepdims=False,
Time of Update: 2016-07-06
Fib執行個體雖然能作用於for迴圈,看起來和list有點像,但是,把它當成list來使用還是不行,比如,取第5個元素:>>> Fib()[5]Traceback (most recent call last): File "", line 1, in TypeError: 'Fib' object does not support indexing要表現得像list那樣按照下標取出元素,需要實現__getitem__()方法:class Fib(object): def __getitem_
Time of Update: 2016-07-06
什麼是生產者消費者模型在 工作中,大家可能會碰到這樣一種情況:某個模組負責產生資料,這些資料由另一個模組來負責處理(此處的模組是廣義的,可以是類、函數、線程、進程等)。產 生資料的模組,就形象地稱為生產者;而處理資料的模組,就稱為消費者。在生產者與消費者之間在加個緩衝區,我們形象的稱之為倉庫,生產者負責往倉庫了進商
Time of Update: 2016-07-06
Python簡介 python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的指令碼解釋程式,作為ABC語言的一種繼承。 Python和其他語言的對比:C 和 Python、Java、C#等C語言: 代碼編譯得到 機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工作其他語言: 代碼編譯得到 位元組碼 ,虛擬機器執行位元組碼並轉換成機器碼再後在處理器上執行Python 和 C
Time of Update: 2016-07-06
__getitem__ 來看個簡單的例子就明白:def __getitem__(self, key): return self.data[key]>>> f = fileinfo.FileInfo("/music/_singles/kairo.mp3")>>> f{'name':'/music/_singles/kairo.mp3'}>>> f.__getitem__("name") '/music/_singles/kairo.mp3'>>> f["name"]
Time of Update: 2016-07-06
一個最簡單的伺服器Python擁有這種單獨起一個伺服器監聽連接埠的能力,用標準庫的wsgiref就行。from wsgiref.simple_server import make_server def simple_app(environ, start_response): status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status,
Time of Update: 2016-07-06
基本的字串位置尋找方法Python 尋找字串使用 變數.find("要尋找的內容"[,開始位置,結束位置]),開始位置和結束位置,表示要尋找的範圍,為空白則表示尋找所有。尋找到後會返回位置,位置從0開始算,如果每找到則返回-1。str = 'a,hello' print str.find('hello') # 在字串str裡尋找字串hello >> 2 # 輸出結果 樸素匹配演算法樸素匹配演算法是對目標字串和模板字串的一一匹配。如果匹配得上,下標向右移一位,
Time of Update: 2016-07-06
快速排序由於排序效率在同為O(N*logN)的幾種排序方法中效率較高,因此經常被採用。該方法的基本思想是:1.先從數列中取出一個數作為基準數。2.分區過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。3.再對左右區間重複第二步,直到各區間只有一個數。現在通過一個執行個體來說明快排。比如有一個數組:6 2 4 5
Time of Update: 2016-07-06
安裝正常情況,只需pip install PIL==1.1.7或者pip install Pillow==2.9.0即可。但需留意安裝後的輸出安裝完成後,需留意輸出:*** TKINTER support not available*** JPEG support not available*** WEBP support not available*** ZLIB (PNG/ZIP) support not available*** FREETYPE2 support not
Time of Update: 2016-07-06
一般來說,一個描述器是一個有“綁定行為”的對象屬性(object attribute),它的存取控制被描述器協議方法重寫。這些方法是 __get__(), __set__(), 和 __delete__() 。有這些方法的對象叫做描述器。預設對屬性的存取控制是從對象的字典裡面(__dict__)中擷取(get), 設定(set)和刪除(delete)它。舉例來說, a.x 的尋找順序是, a.__dict__['x'] , 然後 type(a).__dict__['x'] , 然後找 type(