利用生成器gennerator
迭代器進行迭代遍歷:for line in line
迭代器是乙個更抽象的概念,任何物件,如果它的類有next方法和iter方法返回自己本身。對於string、list、dict、tuple等這類容器物件,使用for迴圈遍歷是很方便的。在後台for語句對容器呼叫iter()函式,iter()是python的內建函式。iter()會返回乙個定義了next()方法的迭代器物件,它在容器中逐個訪問容器內的元素,next()也是python的內建函式。在沒有後續元素時,next()會丟擲乙個stopiteraion異常
生成器(generator)是建立迭代器的簡單而強大的工具。它們寫起來就像是正規的函式,只是在需要返回資料的時候使用yield語句。每次next()被呼叫時,生成器會返回它脫離的位置(它記憶語句最後一次執行的位置和所有的資料值)
區別:生成器能做到迭代器能做的所有事,而且因為自動建立了__iter__()和next()方法,生成器顯得特別簡潔,而且生成器也是高效的,使用生成器表示式取代列表解析可以同時節省記憶體。除了建立和儲存程式狀態的自動方法,當發生器終結時,還會自動丟擲stopiteration異常
引入日誌
函式執行時間統計
執行函式前預備處理
執行函式後的清理功能
許可權校驗等場景
快取grep命令是一種強大的文字搜尋工具,grep搜尋內容串可以是正規表示式,允許對文字檔案進行模式查詢。如果找到匹配模式,grep列印包含模式的所有行。
find通常用來再特定的目錄下搜尋符合條件的檔案,也可以用來搜尋特定使用者屬主的檔案。
linux下的後台程序管理利器 supervisor
每次檔案修改後再linux執行 service supervisord restart
使用生成器;關鍵**使用外部功能包(cython,pylnlne,pypy,pyrex);針對迴圈的優化--盡量避免在迴圈中訪問變數的屬性
ls,help,cd,more,clear,mkdir,pwd,rm,grep,find,mv,su,date
Python常見面試題
1 python生成隨機數 import random random.random 隨機生成0 1之間的數字 random.uniform 1,10 隨機生成1 10之間的數字 包括小數整數 random.randint 1,10 生成1 10之間的整數 random.randrange 1,10,...
python常見面試題
看兩個例子 python a 1 def fun a a 2 fun a print a 1 python a def fun a fun a print a 1 所有的變數都可以理解是記憶體中乙個物件的 引用 或者,也可以看似c中void 的感覺。這裡記住的是型別是屬於物件的,而不是變數。而物件有...
python常見面試題
有如下的一段 class a object def show self print base show class b a def show self print derived show obj b obj.show 如何呼叫類a的show方法了。方法如下 obj.class a obj.show...