1. python 裡 match 與 search 的區別?
match()函式只檢測 re 是不是在 string 的開始位置匹配,
search()會掃瞄整個 string 查詢匹配;
也就是說 match()只有在 0 位置匹配成功的話才有返回,
如果不是開始位置匹配成功的話,match()就返回 none。
2.什麼是死鎖呢?
若干子執行緒在系統資源競爭時,都在等待對方對某部分資源解除占用狀態,結果是誰也不願先解鎖,
互相幹等著,程式無法執行下去,這就是死鎖。
gil 鎖(有時候,面試官不問,你自己要主動說,增加 b 格,盡量別一問一答的尬聊,不然最後等
到的一句話就是:你還有什麼想問的麼?)
gil 鎖 全域性直譯器鎖(只在 cpython 裡才有)
作用:限制多執行緒同時執行,保證同一時間只有乙個執行緒執行,所以 cpython 裡的多執行緒其實是偽
多執行緒!
3.flask 專案中如何實現 session 資訊的寫入?
flask 中有三個 session:
第乙個:資料庫中的 session,例如:db.session.add()
第二個:在 flask_session 擴充套件中的 session,使用:from flask_session importsession,使用
第三方擴充套件的 session 可以把資訊儲存在伺服器中,客戶端瀏覽器中只儲存 sessionid。
第三個:flask 自帶的 session,是乙個請求上下文, 使用:from flask import session。自帶的
session 把資訊加密後都儲存在客戶端的瀏覽器 cookie 中。
4.python 函式呼叫的時候引數的傳遞方式是值傳遞還是引用傳遞?
python 的引數傳遞有:位置引數、預設引數、可變引數、關鍵字引數。
函式的傳值到底是值傳遞還是引用傳遞,要分情況:
不可變引數用值傳遞:
像整數和字串這樣的不可變物件,是通過拷貝進行傳遞的,因為你無論如何都不可能在原處改變
不可變物件
可變引數是引用傳遞的:
比如像列表,字典這樣的物件是通過引用傳遞、和 c 語言裡面的用指標傳遞陣列很相似,可變物件
能在函式內部改變。
5.什麼是 lambda 函式?它有什麼好處?
lambda 函式是匿名函式;使用 lambda 函式能建立小型匿名函式。這種函式得名於省略了用 def
宣告函式的標準步驟;是得程式扁平化,已於結合其他**
4g 記憶體怎麼讀取乙個 5g 的資料?
方法一:
可以通過生成器,分多次讀取,每次讀取數量相對少的資料(比如 500mb)進行處理,處理結束後
在讀取後面的 500mb 的資料。
方法二:
可以通過 linux 命令 split 切割成小檔案,然後再對資料進行處理,此方法效率比較高。可以按照行
數切割,可以按照檔案大小切割。
6.說明一下 os.path 和 sys.path 分別代表什麼?平時的操作有哪些?
os.path 主要是用於對系統路徑檔案的操作。
sys.path 主要是對 python 直譯器的系統環境引數的操作(動態的改變 python 直譯器搜尋路徑)。
os.path.join()將分離的各部分組合成乙個路徑名
os.mkdir/makedirs 建立目錄/多層目錄
os.rmdir/removedirs 刪除目錄/多層目錄
sys.version 獲取 python 解釋程式的版本資訊
sys.modules 返回系統匯入的模組字段,key 是模組名,value 是模組
7.請簡述什麼是並行,什麼是併發。python中,有幾種多工模式?分別是並行還是併發?
並行:同一時刻多個任務同時執行
併發:在同一時間間隔內多個任務都在執行,但是並不會在同一時刻同時執行,存在交替執行的情況。
python中多工有多程序(並行),多執行緒(併發),多協程(併發)
實現並行的庫是什麼(multiprocessing),實現併發的庫是什麼(threading)
python練習題(二)
1.企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提 成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於 40萬元的部分,可提成3 60萬到10...
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...
python的練習題 Python練習題
1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...