好程式設計師Python教程分享常見的Python面試題

好程式設計師IT發表於2019-11-13

   好程式設計師Python教程分享 常見的Python面試題,程式設計師面試難免會需要進行筆試,筆試是考驗程式設計師基礎功底的重要環節,根據很多小夥伴的面試反饋,今天 總結分享了一些常見的Python面試題,想要看Python面試是不是可以順利透過,這些常見的Python面試題你應該看看。

  

  1、大資料的檔案讀取

  ①利用生成器generator

  ②迭代器進行迭代遍歷:forlineinfile

  

  2、迭代器和生成器的區別

  1)迭代器是一個更抽象的概念,任何物件,如果它的類有next方法和iter方法返回自己本身。對於string、list、dict、tuple等這類容器物件,使用for迴圈遍歷是很方便的。在後臺for語句對容器物件呼叫iter()函式,iter()是python的內建函式。iter()會返回一個定義了next()方法的迭代器物件,它在容器中逐個訪問容器內元素,next()也是python的內建函式。在沒有後續元素時,next()會丟擲一個StopIteration異常。

  2)生成器(Generator)是建立迭代器的簡單而強大的工具。它們寫起來就像是正規的函式,只是在需要返回資料的時候使用yield語句。每次next()被呼叫時,生成器會返回它脫離的位置(它記憶語句最後一次執行的位置和所有的資料值)。

  

  區別:生成器能做到迭代器能做的所有事,而且因為自動建立了__iter__()和next()方法,生成器顯得特別簡潔,而且生成器也是高效的,使用生成器表示式取代列表解析可以同時節省記憶體。除了建立和儲存程式狀態的自動方法,當發生器終結時,還會自動丟擲StopIteration異常。

 

  3、裝飾器的作用和功能:

  引入日誌、函式執行時間統計、執行函式前預備處理、執行函式後的清理功能、許可權校驗等場景、快取。

 

  4、如何提高python的執行效率

  使用生成器;關鍵程式碼使用外部功能包(Cython,pylnlne,pypy,pyrex);針對迴圈的最佳化--儘量避免在迴圈中訪問變數的屬性。

 

  5、Python中的yield用法

  yield簡單說來就是一個生成器,這樣函式它記住上次返回時在函式體中的位置。對生成器第二次(或n次)呼叫跳轉至該函次)呼叫跳轉至該函式。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2663953/,如需轉載,請註明出處,否則將追究法律責任。

相關文章