欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

常見Python面試題目整理小結(jié)

  發(fā)布時(shí)間:2020-02-07 15:21:30   作者:Mr_fengzi   我要評論
這篇文章主要介紹了常見Python面試題目整理小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

本篇文章將對一些常見的python面試題目進(jìn)行整理,并做簡要的回答,可供參考,如果你有更好更全面的答案,那么請?jiān)谠u論區(qū)評論,一起交流學(xué)習(xí)^0^

1. 列舉 Python2 和 Python3 的區(qū)別?

答: 

  • 默認(rèn)編碼不同:python2 采用ASCII碼,python3 采用utf-8
  •   input的區(qū)別:python2中有兩個(gè)輸入,一個(gè)是input(),等待用戶輸入表達(dá)式,然后返回結(jié)果;另一個(gè)是raw_input(),輸入什么返回什么。python3中只有input替代了它們
  •   print的區(qū)別:python2中print被視為語句,直接把要輸出的內(nèi)容放到print關(guān)鍵字后面即可。python3中print()視為一個(gè)函數(shù),需要將輸出的內(nèi)容作為參數(shù)傳給它
  •  整數(shù)除法(/)的區(qū)別:python2中兩個(gè)整數(shù)相除,得到的結(jié)果也會(huì)是一個(gè)整數(shù),將會(huì)把小數(shù)部分去掉,比如輸入3/2,將會(huì)得到1,而不是1.5;python3中則兩整數(shù)相除,如果結(jié)果有小數(shù)的話將會(huì)默認(rèn)返回一個(gè)浮點(diǎn)數(shù),保留小數(shù)點(diǎn)后面的數(shù)字,比如3/2會(huì)返回1.5
  • 字符串的類型:python2中字符串有兩種類型:Unicode字符串和非Unicode字符串;python3中字符串中只有一種類型:Unicode字符串
  •  int和long的區(qū)別:python2中將非浮點(diǎn)型分為int整型和long長整型,可以通過在數(shù)字的末尾附上一個(gè)L來定義長整型;而在python3中只有一種整數(shù)類型int
  • import導(dǎo)入模塊的搜索路徑不同:python2中import是采用相對路徑方式進(jìn)行搜索模塊的;而Python3采用的是絕對路徑的方式進(jìn)行import的
  • 對縮進(jìn)要求不同:python2沒有嚴(yán)格的縮進(jìn)要求,而Python3使用更加嚴(yán)格的縮進(jìn)
  • 新式類和經(jīng)典類的區(qū)別:python2中存在經(jīng)典類和新式類的區(qū)別,而在python3中統(tǒng)一采用新式類

2. 簡述 Python 的深淺拷貝以及應(yīng)用場景?

答:

淺拷貝:對另外一個(gè)變量的內(nèi)存地址的拷貝,這兩個(gè)變量指向同一個(gè)內(nèi)存地址的變量值。(copy.copy())

  • 公用一個(gè)值;
  • 這兩個(gè)變量的內(nèi)存地址一樣;
  • 對其中一個(gè)變量的值改變,另外一個(gè)變量的值也會(huì)改變;

深拷貝:一個(gè)變量對另外一個(gè)變量的值拷貝。(copy.deepcopy())

  • 兩個(gè)變量的內(nèi)存地址不同;
  • 兩個(gè)變量各有自己的值,且互不影響;
  • 對其任意一個(gè)變量的值的改變不會(huì)影響另外一個(gè)

 應(yīng)用場景:深拷貝應(yīng)用在需要對拷貝過來的變量進(jìn)行修改,而不改變原被拷貝變量的情況

3. 能否解釋一下 *args 和 **kwargs?

答:

當(dāng)我們不知道向函數(shù)傳遞多少參數(shù)時(shí),我們就使用*args,*args 用來將參數(shù)打包成tuple給函數(shù)體調(diào)用;

當(dāng)我們不知道該傳遞多少關(guān)鍵字參數(shù)時(shí),使用**kwargs來收集關(guān)鍵字參數(shù),**kwargs 打包關(guān)鍵字參數(shù)成dict給函數(shù)體調(diào)用。

4. 簡述 生成器、迭代器、可迭代對象 以及應(yīng)用場景?

答:

可迭代對象就可以用for循環(huán)語句進(jìn)行遍歷的對象就是可迭代對象;

生成器寫起來就像是正規(guī)的函數(shù) ,只是在需要返回?cái)?shù)據(jù)的時(shí)候使用yield語句。每次next()被調(diào)用時(shí),生成器會(huì)返回它脫離的位置。

迭代器是一個(gè)更抽象的概念,任何對象,如果它的類有next方法和iter方法返回自己本身,那么這個(gè)對象就是迭代器。

應(yīng)用場景:比如我們使用python讀取一 個(gè)10g的文件,如果一次性將10g的文件加載到內(nèi)存處理的話(read方法),內(nèi)存肯定會(huì)溢出;這里如果可以 使用生成器把讀寫交叉處理進(jìn)行,比如使用(readline和readlines)就可以再循環(huán)讀取的同時(shí)不斷處理,這樣就可以節(jié)省大量的內(nèi)存空間。

5. 請說明 yield 關(guān)鍵字的工作機(jī)制。

答:

如果函數(shù)里面有yield關(guān)鍵字, 這個(gè)函數(shù)的返回值是生成器。如果遇到y(tǒng)ield, 函數(shù)停止執(zhí)行, 當(dāng)再次調(diào)用next方法時(shí), 從停止的地方繼續(xù)執(zhí)行。默認(rèn)next方法會(huì)把yield后面的值返回回來。

6. 請簡單談?wù)勓b飾器的作用和功能。

答:

裝飾器本質(zhì)上是一個(gè)函數(shù),該函數(shù)用來處理其他函數(shù),它可以讓其他函數(shù)在不需要修改代碼的前提下增加額外的功能,裝飾器的返回值也是一個(gè)函數(shù)對象。寫代碼要遵循 開放封閉 原則,簡單來說,它規(guī)定已經(jīng)實(shí)現(xiàn)的功能代碼不允許被修改,但可以被擴(kuò)展,即: 封閉:已實(shí)現(xiàn)的功能代碼塊 ,開放:對擴(kuò)展開發(fā)

裝飾器具體可以實(shí)現(xiàn)以下功能:

  1. 引入日志
  2. 函數(shù)執(zhí)行時(shí)間統(tǒng)計(jì)
  3. 執(zhí)行函數(shù)前預(yù)備處理
  4. 執(zhí)行函數(shù)后清理功能
  5. 權(quán)限校驗(yàn)等場景
  6. 緩存 

7. Python 中如何讀取大數(shù)據(jù)的文件內(nèi)容?

答:

使用python讀取一 個(gè)大數(shù)據(jù)的文件時(shí),如果一次性將特別大的數(shù)據(jù)文件加載到內(nèi)存處理的話(read方法),內(nèi)存肯定會(huì)溢出;這里可以 使用生成器把讀寫交叉處理進(jìn)行,比如使用readline和readlines就可以再循環(huán)讀取的同時(shí)不斷處理,這樣就可以節(jié)省大量的內(nèi)存空間。

8. Python 中的模塊和包是什么?

 答:

模塊就是工具包,要想使用這個(gè)工具包中的工具(就好比函數(shù)),就需要導(dǎo)入這個(gè)模塊。模塊是非常簡單的Python文件,單個(gè)Python文件就是一個(gè)模塊。 

包就是將有聯(lián)系的模塊組織在一起的一個(gè)集和,有效避免模塊名稱沖突問題,讓應(yīng)用組織結(jié)構(gòu)更加清晰。

9. python 是如何進(jìn)行內(nèi)存管理的(python 是如何實(shí)現(xiàn)垃圾回收機(jī)制的)?

答:

python的垃圾回收機(jī)制采用的是引用計(jì)數(shù)機(jī)制為主,標(biāo)記-清除和分代收集兩種機(jī)制為輔的策略。

 10. 談?wù)勀銓γ嫦驅(qū)ο蟮睦斫?

答:

面向?qū)ο笫前慈藗冋J(rèn)識(shí)客觀世界的系統(tǒng)思維方式,采用基于對象(實(shí)體)的概念建立模型,模擬客觀世界分析、設(shè)計(jì)、實(shí)現(xiàn)軟件的辦法。通過面向?qū)ο蟮睦砟钍褂?jì)算機(jī)軟件系統(tǒng)能與現(xiàn)實(shí)世界中的系統(tǒng)一一對應(yīng)。面向?qū)ο缶幊炭梢詫?shù)據(jù)與函數(shù)綁定到一起,進(jìn)行封裝,這樣能夠更快速的開發(fā)程序,減少了重復(fù)代碼的重寫過程。

11. Python 面向?qū)ο笾械睦^承有什么特點(diǎn)?

答:

Python同時(shí)支持單繼承與多繼承,當(dāng)只有一個(gè)父類時(shí)為單繼承,當(dāng)存在多個(gè)父類時(shí)為多繼承。并且子類會(huì)繼承父類的所有的屬性和方法,子類也可以覆蓋父類同名的變量和方法。

12. 面向?qū)ο笾?super 的作用?

答:

super用在子類中可以快速調(diào)用父類的方法,格式為: super(子類名稱, self).父類的方法名()

13. 面向?qū)ο笊疃葍?yōu)先和廣度優(yōu)先是什么, 并說明應(yīng)用場景?

答:

深度優(yōu)先算法:它是經(jīng)典類多繼承搜索的順序,先深入繼承樹左側(cè)查找,然后再返回,開始查找右側(cè)。

廣度優(yōu)先算法:它是新式類多繼承搜索的順序,先在水平方向查找,然后再向上查找。

14. 請簡述__init__和__len__這兩個(gè)魔術(shù)方法的作用

答:

構(gòu)造方法__init__:當(dāng)一個(gè)對象被創(chuàng)建后,會(huì)立即調(diào)用該構(gòu)造方法,自動(dòng)執(zhí)行構(gòu)造方法里面的內(nèi)容。

構(gòu)造方法__len__:該構(gòu)造方法會(huì)返回元素的數(shù)量。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 2019年最新的Python面試題(小結(jié))

    這篇文章主要介紹了2019年最新的Python面試題(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-12-30
  • Python高頻面試題及其答案(推薦)

    本文給大家分享Python高頻面試題及其答案,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-12-26
  • 2019Python必刷面試題(小結(jié))

    這篇文章主要介紹了2019Python必刷面試題(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-12-25
  • Python經(jīng)典面試題與參考答案集錦

    這篇文章主要介紹了Python經(jīng)典面試題與參考答案,總結(jié)分析了Python面試中各種常見的概念、數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-04
  • 兩道阿里python面試題與參考答案解析

    這篇文章主要介紹了兩道阿里python面試題與參考答案,結(jié)合具體實(shí)例形式分析了Python數(shù)組創(chuàng)建、遍歷、拆分及隨機(jī)數(shù)等相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-02
  • 60道硬核Python面試題,論面霸是如何煉成的

    這篇文章主要介紹了60道硬核Python面試題,論面霸是如何煉成的,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-08-28
  • 關(guān)于Python爬蟲面試170道題(推薦)

    這篇文章主要介紹了關(guān)于Python爬蟲面試170道題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-08-15
  • 50個(gè)Python面試問題集錦

    Python是目前編程領(lǐng)域最受歡迎的語言。在本文中,我將總結(jié)Python面試中最常見的50個(gè)問題。每道題都提供參考答案,感興趣的可以了解下
    2019-06-26
  • 2019年最新的Python面試題與答案整理

    這篇文章主要為大家介紹了Python常見的面試題與相應(yīng)的Python知識(shí)點(diǎn),包括Python變量、函數(shù)、對象、數(shù)據(jù)類型等,需要的朋友可以參考下
    2019-06-25
  • 110道Python面試題(真題小結(jié))

    這篇文章主要介紹了110道Python面試題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-24

最新評論