day2
day3
day4
day5
day1
python中is和==的區別
在python中,乙個物件有三個要素,value,id和type。
「==」主要判斷的是兩個物件的value是否相同,
「is」也叫同一性運算子,會判斷兩者的id是否相同。
簡述read、readline和readlines的區別
read:將檔案內內容全部讀取輸出;
readline:讀取檔案內容的一行;
readlines:讀取檔案的所有內容,按行返回乙個列表。
舉例說明建立字典的至少兩種方法
直接採用dict=建立
內建方法fromkeys。dict = {}.fromkeys((key1,key2),value),這樣建立出來的字典適合字典中的key有相同的value值,預設為none。
zip間接建立userinfo = zip.([「username」,「id」],[「lalala」,「123」]),dict(userinfo),即可建立字典。
*args,**kwargs的作用?如何使用?
當函式的引數不確定時,可以使用args 和kwargs,args 沒有key值,kwargs有key值。
當我們不知道向函式傳遞多少引數時,比如我們向傳遞乙個列表或元組,我們就使用*args
當我們不知道該傳遞多少關鍵字引數時,使用**kwargs來收集關鍵字引數
python中match()和search()的區別?
match()函式只檢測字串開頭位置與所檢測的string是否匹配,匹配成功才會返回結果,否則返回none;
search()函式會在整個字串內查詢模式匹配,只到找到第乙個匹配然後返回乙個包含匹配資訊的物件,該物件可以通過呼叫group()方法得到匹配的字串,如果字串沒有匹配,則返回none。
day2
解釋一下python中的三元表示式
if_suite if expression1 else else_suite
expression1 :判斷條件
if_suite:true的值
else_suite:false的值
python中如何實現多執行緒?
建立thread的例項,傳遞給它乙個函式
建立thread的例項,傳遞給它乙個可呼叫的類例項
派生thread的子類,並建立子類的例項
使用執行緒池
解釋繼承
繼承描述的是事物之間的所屬關係,當我們定義乙個class的時候,可以從某個現有的class繼承,父類的屬性、方法,會被繼承給子類。
什麼是flask?
flask 是 python 編寫的一款輕量級 web 應用框架。其 wsgi 工具箱採用 werkzeug ,模板引擎則使用 jinja2。flask 使用 bsd 授權。其中兩個環境依賴是 werkzeug 和 jinja2,這意味著它不需要依賴外部庫。正因如此,我們將其稱為輕量級框架。
如何在python中管理記憶體?
python採用的是引用計數機制來管理分配的記憶體。python 的每個物件都有乙個引用計數,這個引用計數表明了有多少物件在指向它。當這個引用計數為 0 時,釋放該物件的記憶體。為了解決迴圈引用的問題,python提供了「標記-清除」法,用於釋放迴圈引用的物件。
day3
python2和python3的range(100)的區別。
在python2中,range(100)返回的是乙個列表,
在python3中,range(100)返回的是乙個可迭代物件。
一句話解釋什麼樣的語言能夠用裝飾器。
函式可以作為引數傳遞的語言可以使用裝飾器
python內建資料型別有哪些?
python內建資料型別有整形(int)、浮點型(float)、複數(complex)、布林(bool)、字串(str)、列表(list)、元組(tuple)、集合(set)、字典(dict)、
簡述物件導向中__new__和__init__的區別?
__new__是在建立物件之前進行的動作,所接受的引數是cls,負責物件的建立;
__init__是在物件建立之後的動作,完善物件的屬性,所接受的引數是self。
物件的生成是在new中完成的。
簡述with方法開啟處理檔案幫我們做了什麼?
with方法開啟檔案,可以在我們對檔案操作完成後,自動關閉檔案,保證檔案的安全性。
day4
大資料的檔案讀取
① 利用生成器generator;
②迭代器進行迭代遍歷:for line in file
迭代器和生成器的區別
可迭代物件:可以直接作用於for迴圈的物件;
迭代器就是用於迭代操作的物件,迭代器都是可迭代物件。簡單來說,迭代器就是可以被next()函式呼叫並不斷返回下乙個值的物件;
生成器的本質也是乙個迭代器,與迭代器的區別在與yield,生成器在返回資料是需要使用yield。
裝飾器的作用和功能
裝飾器的本質就是乙個函式,只不過裝飾器的引數不像普通函式那樣,裝飾器的引數是乙個函式,它的作用就是它可以讓其他函式在不需要修改**的前提下增加額外的功能,裝飾器的返回值也是乙個函式物件。在開發中,我們需要遵循開放封閉原則,對於已經實現的功能,我們便不再對其進行修改,這時就需要裝飾器來對其進行擴充套件。
簡單談下gil
gil(global interperter lock)即全域性直譯器鎖,gil是python解釋層面的鎖,解決直譯器中多個執行緒的競爭資源問題(多個子執行緒在系統資源競爭時,都在等待物件某個部分資源解除占用狀態,結果誰也不願意先解鎖,然後互相等著,程式無法執行下去)。
如何提高python的執行效率
優化迴圈
多使用pthon中已經封裝好的模組
使用較新的python版本
day5
列表和元組有什麼不同?
首先,列表和元組都是可以儲存任意資料型別的集合,
但元組是不可變的。
解釋python中的help()函式和dir()函式。
help函式是乙個內建函式,用於檢視函式或模組用途的詳細說明。
dir()函式時python的內建函式,dir()函式不帶引數時,返回當前範圍內的變數、方法和定義的型別列表,帶引數時,返回引數的屬性、方法列表
當退出python時是否會釋放所有記憶體分配?
答案是否定的。那些具有物件迴圈引用或者全域性命名空間引用的變數,在 python 退出是往往不會被釋放。
什麼是猴子補丁?
屬性在執行時的動態替換,叫做猴子補丁。
解釋一下*args和**kwargs。
見day1*args,**kwargs的作用?如何使用?
面試真題 一
開始彙總面試碰到的 題,為保密起見,不透露公司名字,但會把所有的程式設計題都記錄下來,每一篇代表一家公司,我會盡量整理得快一點。60分鐘,10道單選 5道不定項選擇 若干道填空 2道改錯 1道程式設計。1 給定乙個鍊錶,返回鍊錶逆置後的結果。思路 簡單的鍊錶逆置題,我一開始以為是逆序輸出鍊錶的值,想...
面試真題之旅(一)
include include include void getmemory char p int main c語言引數傳遞 c語言函式的引數傳遞採用按值傳遞。對於此題來講,在main函式中宣告了乙個char 型別的變數str,假設其變數位址為a,變數的值為ptr a。將str傳入函式getmemo...
python面試演算法真題系列一
tips 答案在所有問題的後邊 簡單的字串排序 將字串按ascii的順序進行排序 注意,用例的輸入是input 輸入描述 cba 輸出描述 abc 示例1 輸入 cba 輸出abc 示例2 輸入 031fc 輸出 013cf 題2 字元對映 1 有乙個字元生成裝置,有按鈕1 9,其中每個數字對應多個...