無論是應聘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物件越多,記憶體消耗越大。
leetcode 面試題專題
面試題51.陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。利用歸併排序,將陣列分成兩部分,前面一部分和後面一部分,進行歸併的時候,需要比較兩個陣列的數值大小,如果第二個陣列的值小的話,代表前乙個陣列剩下的都...
python語法面試題 python面試題
1.去重,集合 集合的乙個重要特點是 自動去除重複的值 li 1,2,3,1,1,2,2,3,3 去除重複的元素 set set li 轉換為集合,因為集合會自動去重。print set li list set 將集合轉換為列表print li 2.生成器 規則 生成器函式,或者生成器表示式,在呼叫...
java面試題的陷阱
1.abstract class name 錯。abstract method必須以分號結尾,且不帶花括號。2.public class something 錯。區域性變數前不能放置任何訪問修飾符 private,public,和protected final可以用來修飾區域性變數 final如同a...