浙江11选5历史开奖结果查询结果:十條Python面試題陷阱,看看你是否會中招

十條Python面試題陷阱,看看你是否會中招

浙江11选5任3遗漏 www.ehxis.com 問題1:請問如何修改以下Python代碼,使得下面的代碼調用類A的show方法?

十條Python面試題陷阱,看看你是否會中招

答:這道題的考點是類繼承,只要通過__class__ 方法指定類對象就可以了。補充的代碼如下:

十條Python面試題陷阱,看看你是否會中招

問題2:請問如何修改以下Python代碼,使得代碼能夠運行?

十條Python面試題陷阱,看看你是否會中招

答:此題考察得是方法對象,為了能讓對象實例能被直接調用,需要實現 __call__ 方法,補充代碼如下:

十條Python面試題陷阱,看看你是否會中招

問題3:下面這段代碼的輸出是什么?

十條Python面試題陷阱,看看你是否會中招

答:

十條Python面試題陷阱,看看你是否會中招

此題考察的是new和init的用法,使用 __new__ 方法,可以決定返回那個對象,也就是創建對象之前調用的,這個常見于于設計模式的單例、工廠模式。__init__ 是創建對象是調用的。

問題4:下面這段代碼輸出什么?

十條Python面試題陷阱,看看你是否會中招

答:

十條Python面試題陷阱,看看你是否會中招

此題考察的是列表和字典的生成。

問題5:下面這段代碼輸出什么?

十條Python面試題陷阱,看看你是否會中招

答:

十條Python面試題陷阱,看看你是否會中招

此題考察全局變量和局部變量。num 不是個全局變量,所以每個函數都得到了自己的 num 拷貝,如果你想修改 num ,則必須用 global 關鍵字聲明。比如下面這樣

十條Python面試題陷阱,看看你是否會中招

問題6:如何使用一行代碼交換兩個變量值?

十條Python面試題陷阱,看看你是否會中招

答:

十條Python面試題陷阱,看看你是否會中招

問題7:如何添加代碼,使得沒有定義的方法都調用mydefault方法?

十條Python面試題陷阱,看看你是否會中招

答:

十條Python面試題陷阱,看看你是否會中招

此題的考的是Python的默認方法, 只有當沒有定義的方法調用時,才會調用方法 __getattr__。當 fn1 方法傳入參數時,我們可以給 mydefault 方法增加一個 *args 不定參數來兼容。

十條Python面試題陷阱,看看你是否會中招

問題8:一個包里有三個???,mod1.py , mod2.py , mod3.py ,但使用 from demopack import * 導入??槭?,如何保證只有 mod1 、 mod3 被導入了。

答:在包中增加 __init__.py 文件,并在文件中增加:

十條Python面試題陷阱,看看你是否會中招

問題9:寫一個函數,接收整數參數 n ,返回一個函數,函數返回n和參數的積。

答:

十條Python面試題陷阱,看看你是否會中招

問題10:請問下面的代碼有什么隱患?(Python2中)

十條Python面試題陷阱,看看你是否會中招

答:由于變量str是個不可變對象,每次迭代,python都會生成新的str對象來存儲新的字符串,num越大,創建的str對象越多,內存消耗越大。

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code