百度大??偨Y10條Python面試題陷阱,看看你是否會中招

每年的3-4月份是跳槽的高峰期,無論是應聘Python web開發(fā),爬蟲工程師,或是數據分析,還是自動化運維,都涉及到一些基礎的知識!我挑了一些Python的基礎面試題,看看你能不能的答上來,也許面試的同學用的著!

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

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

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

學習資料也可以加下Python扣扣裙:四八三五四六四一六獲取

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

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

答:

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

問題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:請問下面的代碼有什么隱患?(Python2中)

答:由于變量str是個不可變對象,每次迭代,python都會生成新的str對象來存儲新的字符串,num越大,創(chuàng)建的str對象越多,內存消耗越大。

下邊為大家準備了一份資料和教程。

寫在最后

前幾天有私信我要Python的學習資料,我連夜整理了一些有深度的Python教程和參考資料,從入門到高級的都有,文件已經打包好了,正在學習Python的同學可以免費下載學習學習。文件下載方式請關注微信公眾號:程序員大牛,關注后私信回復“Python”即可下載。首先把代碼擼起來!首先把代碼擼起來!首先把代碼擼起來!重要的事說三遍,哈哈?!熬幊淌情T手藝活”。什么意思?得練啊。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學習Python基礎知識的框架詳細梳理了一遍。 ...
    Raxxie閱讀 19,583評論 17 410
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,666評論 1 32
  • 最近比賽遇到了RPO,這里來進行掃盲。 知識點1---一個網站是如何加載的 一個html網站是如何加載的呢,網...
    yangc隨想閱讀 1,490評論 0 1
  • var myDate = new Date();myDate.getYear(); 獲取當前年份(2位)myD...
    聆溪閣主閱讀 806評論 0 0

友情鏈接更多精彩內容