Python面試筆記三

1. 類繼承

有以下的一段代碼:python

求職Python開發,面試官最喜歡問的幾個問題

python對象面試

 

如何調用類A的show方法了,方法以下:設計模式

求職Python開發,面試官最喜歡問的幾個問題

python對象閉包

 

__class__方法指向了類對象,只用給他賦值類型A,而後調用方法show,可是用完了記得修改回來。函數

 

2. 方法對象

問題:爲了讓下面這段代碼運行,須要增長哪些代碼?設計

求職Python開發,面試官最喜歡問的幾個問題

python實例化3d

 

答案:爲了能讓對象實例能被直接調用,須要實現__call__方法對象

求職Python開發,面試官最喜歡問的幾個問題

python實例化blog

 

3. new和init

下面這段代碼輸出什麼?繼承

求職Python開發,面試官最喜歡問的幾個問題

python實例化

答案:

求職Python開發,面試官最喜歡問的幾個問題

python實例化

 

使用__new__方法,能夠決定返回那個對象,也就是建立對象以前,這個能夠用於設計模式的單例、工廠模式。__init__是建立對象是調用的。

4. Python list和dict生成

下面這段代碼輸出什麼?

求職Python開發,面試官最喜歡問的幾個問題

python list dict

 

答案:

求職Python開發,面試官最喜歡問的幾個問題

python list dict

5. 全局和局部變量

下面這段代碼輸出什麼?

求職Python開發,面試官最喜歡問的幾個問題

python全局變量

 

答案:

求職Python開發,面試官最喜歡問的幾個問題

python全局變量

 

num不是個全局變量,因此每一個函數都獲得了本身的num拷貝,若是你想修改num,則必須用global關鍵字聲明。好比下面這樣:

求職Python開發,面試官最喜歡問的幾個問題

python全局變量

6. 交換兩個變量的值

一行代碼交換兩個變量值

求職Python開發,面試官最喜歡問的幾個問題

python數據交換

 

答案:

求職Python開發,面試官最喜歡問的幾個問題

python數據交換

7. 默認方法

以下的代碼:

求職Python開發,面試官最喜歡問的幾個問題

python反射

 

方法 fn1/fn2/fn3 都沒有定義,添加代碼,是沒有定義的方法都調用mydefault函數,上面的代碼應該輸出

求職Python開發,面試官最喜歡問的幾個問題

python反射

 

答案:

求職Python開發,面試官最喜歡問的幾個問題

python反射

 

方法__getattr__只有當沒有定義的方法調用時,纔是調用他。當fn1方法傳入參數時,咱們能夠給mydefault方法增長一個*args不定參數來兼容。

求職Python開發,面試官最喜歡問的幾個問題

python反射

8. 包管理

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

答案:增長__init__.py文件,並在文件中增長:

求職Python開發,面試官最喜歡問的幾個問題

python第三方模塊

9. 閉包

寫一個函數,接收整數參數n,返回一個函數,函數的功能是把函數的參數和n相乘並把結果返回。

答案:

求職Python開發,面試官最喜歡問的幾個問題
相關文章
相關標籤/搜索