中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python有哪些常見的面試題

發布時間:2021-11-19 14:39:11 來源:億速云 閱讀:140 作者:iii 欄目:編程語言

本篇內容介紹了“python有哪些常見的面試題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

  1、python下多線程的限制以及多進程中傳遞參數的方式

  python多線程有個全局解釋器鎖(global interpreter lock),這個鎖的意思是任一時間只能有一個線程使用解釋器,跟單cpu跑多個程序一個意思,大家都是輪著用的,這叫“并發”,不是“并行”。

  多進程間共享數據,可以使用 multiprocessing.Value和multiprocessing.Array。

  2、什么是lambda函數?它有什么好處?

  lambda 函數是一個可以接收任意多個參數(包括可選參數)并且返回單個表達式值的函數。lambda 函數不能包含命令,它們所包含的表達式不能超過一個。不要試圖向lambda 函數中塞入太多的東西;如果你需要更復雜的東西,應該定義一個普通函數,然后想讓它多長就多長。

  3、Python是如何進行類型轉換的?

  ①函數描述

  ② int(x [,base ]) 將x轉換為一個整數

  ③long(x [,base ]) 將x轉換為一個長整數

  ④float(x ) 將x轉換到一個浮點數

  ⑤complex(real [,imag ]) 創建一個復數

  ⑥str(x ) 將對象 x 轉換為字符串

  ⑦repr(x ) 將對象 x 轉換為表達式字符串

  ⑧eval(str ) 用來計算在字符串中的有效Python表達式,并返回一個對象

  ⑨tuple(s ) 將序列 s 轉換為一個元組

  ⑩list(s ) 將序列 s 轉換為一個列表

  ?chr(x ) 將一個整數轉換為一個字符

  ?unichr(x ) 將一個整數轉換為Unicode字符

  ?ord(x ) 將一個字符轉換為它的整數值

  ?hex(x ) 將一個整數轉換為一個十六進制字符串

  ?oct(x ) 將一個整數轉換為一個八進制字符串

  4、python多線程與多進程的區別

  在UNIX平臺上,當某個進程終結之后,該進程需要被其父進程調用wait,否則進程成為僵尸進程(Zombie)。所以,有必要對每個Process對象調用join()方法 (實際上等同于wait)。對于多線程來說,由于只有一個進程,所以不存在此必要性。

  多進程應該避免共享資源。在多線程中,我們可以比較容易地共享資源,比如使用全局變量或者傳遞參數。在多進程情況下,由于每個進程有自己獨立的內存空間,以上方法并不合適。此時我們可以通過共享內存和Manager的方法來共享資源。但這樣做提高了程序的復雜度,并因為同步的需要而降低了程序的效率。

  5、Python里面如何拷貝一個對象?

  標準庫中的copy模塊提供了兩個方法來實現拷貝。一個方法是copy,它返回和參數包含內容一樣的對象。使用deepcopy方法,對象中的屬性也被復制。

  6、介紹一下except的用法和作用?

  Python的except用來捕獲所有異常,因為Python里面的每次錯誤都會拋出一個異常,所以每個程序的錯誤都被當作一個運行時錯誤。

  7、Python中pass語句的作用是什么?

  pass語句什么也不做,一般作為占位符或者創建占位程序,pass語句不會執行任何操作。

  8、Python解釋器種類以及特點?

  Python是一門解釋器語言,代碼想運行,必須通過解釋器執行,Python存在多種解釋器,分別基于不同語言開發,每個解釋器有不同的特點,但都能正常運行Python代碼,以下是常用的五種Python解釋器:

  CPython:當從Python官方網站下載并安裝好Python2.7后,就直接獲得了一個官方版本的解釋器:Cpython,這個解釋器是用C語言開發的,所以叫CPython,在命名行下運行python,就是啟動CPython解釋器,CPython是使用最廣的Python解釋器。

  IPython:IPython是基于CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的,好比很多國產瀏覽器雖然外觀不同,但內核其實是調用了IE。

  PyPy:PyPy是另一個Python解釋器,它的目標是執行速度,PyPy采用JIT技術,對Python代進行動態編譯,所以可以顯著提高Python代碼的執行速度。

  Jython:Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java字節碼執行。

  IronPython:IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。

  在Python的解釋器中,使用廣泛的是CPython,對于Python的編譯,除了可以采用以上解釋器進行編譯外,技術高超的開發者還可以按照自己的需求自行編寫Python解釋器來執行Python代碼,十分的方便!

  9、列舉布爾值為False的常見值?

  0, [] , () , {} , '' , False , None

  10、字符串、列表、元組、字典每個常用的5個方法?

  字符串:repleace,strip,split,reverse,upper,lower,join.....

  列表:append,pop,,remove,sort,count,index.....

  元組:index,count,__len__(),__dir__()

  字典:get,keys,values,pop,popitems,clear,,items.....

  11、lambda表達式格式以及應用場景?

  表達式格式:lambda后面跟一個或多個參數,緊跟一個冒號,以后是一個表達式。冒號前是參數,冒號后是返回值。例如:lambda x : 2x

  應用場景:經常與一些內置函數相結合使用,比如說map(),filter(),sorted(),reduce()等

  12、pass的作用?

  ①空語句do nothing;

  ②保證格式完整;

  ③保證語義完整。

  13、arg和 *kwarg作用?

  萬能參數,解決了函數參數不固定的問題

  *arg:會把位置參數轉化為tuple

  **kwarg:會把關鍵字參數轉化為dict

  14、、is和==的區別?

  is:判斷內存地址是否相等;

  ==:判斷數值是否相等。

  15、、簡述Python的深淺拷貝以及應用場景?

  copy():淺copy,淺拷貝指僅僅拷貝數據集合的第一層數據

  deepcopy():深copy,深拷貝指拷貝數據集合的所有層

  16、Python垃圾回收機制?

  python采用的是引用計數機制為主,標記-清除和分代收集(隔代回收、分代回收)兩種機制為輔的策略

  計數機制:

  Python的GC模塊主要運用了引用計數來跟蹤和回收垃圾。在引用計數的基礎上,還可以通過“標記-清除”

  解決容器對象可能產生的循環引用的問題。通過分代回收以空間換取時間進一步提高垃圾回收的效率。

  標記-清除:

  標記-清除的出現打破了循環引用,也就是它只關注那些可能會產生循環引用的對象。

  缺點:該機制所帶來的額外操作和需要回收的內存塊成正比。

  隔代回收:

  原理:將系統中的所有內存塊根據其存活時間劃分為不同的集合,每一個集合就成為一個“代”,

  垃圾收集的頻率隨著“代”的存活時間的增大而減小。也就是說,活得越長的對象,就越不可能是垃圾,

  就應該減少對它的垃圾收集頻率。那么如何來衡量這個存活時間:通常是利用幾次垃圾收集動作來衡量,

  如果一個對象經過的垃圾收集次數越多,可以得出:該對象存活時間就越長。

  17、python的可變類型和不可變類型?

  不可變類型(數字、字符串、元組、不可變集合);

  可變類型(列表、字典、可變集合)。

  18、Python里面search()和match()的區別?

  match()函數只檢測RE是不是在string的開始位置匹配,search()會掃描整個string查找匹配, 也就是說match()只有在0位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match()就返回none

  19、用Python匹配HTML tag的時候,<.*>和<.*?>有什么區別?

  前者是貪婪匹配,會從頭到尾匹配 xyz,而后者是非貪婪匹配,只匹配到第一個 >。

  20、Python里面如何生成隨機數?

  import random;

  random.random();

  它會返回一個隨機的0和1之間的浮點數。

“python有哪些常見的面試題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

公主岭市| 城口县| 富民县| 中牟县| 普陀区| 聊城市| 闽清县| 天台县| 体育| 瑞丽市| 青阳县| 杭州市| 花莲市| 陆河县| 海淀区| 社旗县| 兴隆县| 宝兴县| 安国市| 横峰县| 拜城县| 广宗县| 芜湖市| 潜江市| 冷水江市| 清涧县| 富源县| 防城港市| 玛纳斯县| 塔城市| 孟村| 青神县| 普宁市| 武城县| 蕲春县| 岱山县| 丹阳市| 双牌县| 肃北| 全州县| 延吉市|