來源:Python程式設計
ID:LovePython
無論是應聘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:請問下麵的程式碼有什麼隱患?(Python2中)
答:由於變數str是個不可變物件,每次迭代,python都會生成新的str物件來儲存新的字串,num越大,建立的str物件越多,記憶體消耗越大。
《Python人工智慧和全棧開發》2018年07月23日即將在北京開課,120天衝擊Python年薪30萬,改變速約~~~~
*宣告:推送內容及圖片來源於網路,部分內容會有所改動,版權歸原作者所有,如來源資訊有誤或侵犯權益,請聯絡我們刪除或授權事宜。
– END –
更多Python好文請點選【閱讀原文】哦
↓↓↓