有以下的一段代碼:python
如何調用類A的show方法了,方法以下:設計模式
__class__方法指向了類對象,只用給他賦值類型A,而後調用方法show,可是用完了記得修改回來。函數
問題:爲了讓下面這段代碼運行,須要增長哪些代碼?設計
答案:爲了能讓對象實例能被直接調用,須要實現__call__方法對象
下面這段代碼輸出什麼?繼承
答案:
使用__new__方法,能夠決定返回那個對象,也就是建立對象以前,這個能夠用於設計模式的單例、工廠模式。__init__是建立對象是調用的。
下面這段代碼輸出什麼?
答案:
下面這段代碼輸出什麼?
答案:
num不是個全局變量,因此每一個函數都獲得了本身的num拷貝,若是你想修改num,則必須用global關鍵字聲明。好比下面這樣:
一行代碼交換兩個變量值
答案:
以下的代碼:
方法 fn1/fn2/fn3 都沒有定義,添加代碼,是沒有定義的方法都調用mydefault函數,上面的代碼應該輸出
答案:
方法__getattr__只有當沒有定義的方法調用時,纔是調用他。當fn1方法傳入參數時,咱們能夠給mydefault方法增長一個*args不定參數來兼容。
一個包裏有三個模塊,mod1.py, mod2.py, mod3.py,但使用from demopack import *導入模塊時,如何保證只有mod一、mod3被導入了。
答案:增長__init__.py文件,並在文件中增長:
寫一個函數,接收整數參數n,返回一個函數,函數的功能是把函數的參數和n相乘並把結果返回。
答案: