1、python2和python3的range(100)的區別?
python2返回列表,python3返回迭代器,節約記憶體
2、一句話解釋什麼樣的語言能夠用裝飾器?
函式可以作為引數傳遞的語言,可以使用裝飾器
3、簡述物件導向中__new__和__init__區別?
__init__是初始化方法,建立物件後,就立刻被預設呼叫了,可接收引數,如圖
1、__init__其實不是例項化乙個類的時候第乙個被呼叫 的方法。當使用 persion(name, age) 這樣的表示式來例項化乙個類時,最先被呼叫的方法 其實是 __new__ 方法。
2、__new__至少要有乙個引數cls,代表當前類,此引數在例項化時由python直譯器自動識別
3、__new__必須要有返回值,返回例項化出來的例項,這點在自己實現__new__時要特別注意,可以return父類(通過super(當前類名, cls))__new__出來的例項,或者直接是object的__new__出來的例項
4、__init__有乙個引數self,就是這個__new__返回的例項,__init__在__new__的基礎上可以完成一些其它初始化的動作,__init__不需要返回值
5、如果__new__建立的是當前類的例項,會自動呼叫__init__函式,通過return語句裡面呼叫的__new__函式的第乙個引數是cls來保證是當前類例項,如果是其他類的類名,;那麼實際建立返回的就是其他類的例項,其實就不會呼叫當前類的__init__函式,也不會呼叫其他類的__init__函式。
面試筆試題記錄
資料庫有x鎖及s鎖,請問如何用c 實現這種類似的讀寫鎖。遠景能源的一面題目。解決方法如下 用兩個鎖,乙個mutex mlock乙個semophore semlock,假設semlock初始為64,即最多不會超過64條執行緒同時做讀寫操作。s鎖 即讀鎖 的實現如下 req semlock 1 請求乙個...
筆試面試題記錄
在intel 8086中,加減乘除那個整數運算最耗時 所有計算機中,乘除減法都是通過半加器全加器等加法來實現的,乘法左移,除法右移,但除法會多乙個分母不能為零的處理,是除法最耗時 19本書,編號從1 19。從中抽五本,任意相鄰兩本不是相鄰編號的情況有多少種。先將問題簡化成5本書取2本。可以假設2本書...
筆試面試題記錄
1.c 為什麼不建議在.h檔案中使用using namespace std namespace 的引入是為了解決名字衝突的問題,而 using namespace.的引入是為了方便程式設計師,使其不用每次都輸入長長的名字。這些都跟效能無關。通常不建議在標頭檔案中使用 using namespace ...