問題1:請問如何修改如下Python代碼,使得下面的代碼調用類A的show方法?python
答:這道題的考點是類繼承,只要經過__class__ 方法指定類對象就能夠了。補充的代碼以下:設計模式
問題2:請問如何修改如下Python代碼,使得代碼可以運行?app
答:此題考察得是方法對象,爲了能讓對象實例能被直接調用,須要實現 __call__ 方法,補充代碼以下:ide
問題3:下面這段代碼的輸出是什麼?函數
答:學習
此題考察的是new和init的用法,使用 __new__ 方法,能夠決定返回那個對象,也就是建立對象以前調用的,這個常見於於設計模式的單例、工廠模式。__init__ 是建立對象是調用的。spa
問題4:下面這段代碼輸出什麼?設計
答:3d
此題考察的是列表和字典的生成。orm
問題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學員提供支持,若是你在學習Python的過程當中遇到了問題,歡迎經過QQ:2282011279 或電話:15652199186 和我聯繫。