當前位置:
首頁 > 知識 > 十道 Python 面試問題陷阱

十道 Python 面試問題陷阱

無論是應聘Python web開發,爬蟲工程師,或是數據分析,還是自動化運維,都涉及到一些基礎的知識!我挑了一些Python的基礎面試題,看看你能不能的答上來,也許面試的同學用的著!

問題1:請問如何修改以下Python代碼,使得下面的代碼調用類A的show方法?

答:這道題的考點是類繼承,只要通過class方法指定類對象就可以了。補充的代碼如下:

問題2:請問如何修改以下Python代碼,使得代碼能夠運行?

答:此題考察得是方法對象,為了能讓對象實例能被直接調用,需要實現call方法,補充代碼如下:

問題3:下面這段代碼的輸出是什麼?

答:

此題考察的是new和init的用法,使用new方法,可以決定返回那個對象,也就是創建對象之前調用的,這個常見於於設計模式的單例、工廠模式。init是創建對象是調用的。

問題4:下面這段代碼輸出什麼?

答:

此題考察的是列表和字典的生成。

問題5:下面這段代碼輸出什麼?

答:

此題考察全局變數和局部變數。num 不是個全局變數,所以每個函數都得到了自己的 num 拷貝,如果你想修改 num ,則必須用 global 關鍵字聲明。比如下面這樣

問題6:如何使用一行代碼交換兩個變數值?

答:

問題7:如何添加代碼,使得沒有定義的方法都調用mydefault方法?

答:

此題的考的是Python的默認方法, 只有當沒有定義的方法調用時,才會調用方法getattr。當 fn1 方法傳入參數時,我們可以給 mydefault 方法增加一個 *args 不定參數來兼容。

問題8:一個包里有三個模塊,mod1.py , mod2.py , mod3.py ,但使用 from demopack import * 導入模塊時,如何保證只有 mod1 、 mod3 被導入了。

答:在包中增加init.py 文件,並在文件中增加:

問題9:寫一個函數,接收整數參數 n ,返回一個函數,函數返回n和參數的積。

答:

問題10:請問下面的代碼有什麼隱患?

答:由於變數str是個不可變對象,每次迭代,python都會生成新的str對象來存儲新的字元串,num越大,創建的str對象越多,內存消耗越大。

原文:https://www.toutiao.com/i6550223737344492039/

題圖:pexels,CC0 授權。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 編程派 的精彩文章:

快手短視頻爬取經驗分享

TAG:編程派 |