中文精品一区二区_久99久免费精品视频_亚洲第一福利天堂在线观看视频网站_国产经典aⅴ三级观看

您現(xiàn)在所在的位置:首頁(yè) >學(xué)習(xí)資源 > 面試題庫(kù) > Python面試題

Python面試題

來(lái)源:奇酷教育 發(fā)表于:

Python面試題


1、一行代碼實(shí)現(xiàn)1--100之和

利用sum()函數(shù)求和

 

2、如何在一個(gè)函數(shù)內(nèi)部修改全局變量

函數(shù)內(nèi)部global聲明 修改全局變量

 

3、列出5個(gè)python標(biāo)準(zhǔn)庫(kù)

os:提供了不少與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)

sys: 通常用于命令行參數(shù)

re: 正則匹配

math: 數(shù)學(xué)運(yùn)算

datetime:處理日期時(shí)間

4、字典如何刪除鍵和合并兩個(gè)字典

del和update方法

 

5、談下python的GIL

GIL 是python的全局解釋器鎖,同一進(jìn)程中假如有多個(gè)線程運(yùn)行,一個(gè)線程在運(yùn)行python程序的時(shí)候會(huì)霸占python解釋器(加了一把鎖即GIL),使該進(jìn)程內(nèi)的其他線程無(wú)法運(yùn)行,等該線程運(yùn)行完后其他線程才能運(yùn)行。如果線程運(yùn)行過(guò)程中遇到耗時(shí)操作,則解釋器鎖解開(kāi),使其他線程運(yùn)行。所以在多線程中,線程的運(yùn)行仍是有先后順序的,并不是同時(shí)進(jìn)行。

多進(jìn)程中因?yàn)槊總€(gè)進(jìn)程都能被系統(tǒng)分配資源,相當(dāng)于每個(gè)進(jìn)程有了一個(gè)python解釋器,所以多進(jìn)程可以實(shí)現(xiàn)多個(gè)進(jìn)程的同時(shí)運(yùn)行,缺點(diǎn)是進(jìn)程系統(tǒng)資源開(kāi)銷大

6、python實(shí)現(xiàn)列表去重的方法

先通過(guò)集合去重,在轉(zhuǎn)列表

 

7、fun(*args,**kwargs)中的*args,**kwargs什么意思?

 

8、python2和python3的range(100)的區(qū)別

python2返回列表,python3返回迭代器,節(jié)約內(nèi)存.

9、一句話解釋什么樣的語(yǔ)言能夠用裝飾器?

函數(shù)可以作為參數(shù)傳遞的語(yǔ)言,可以使用裝飾器。

10、python內(nèi)建數(shù)據(jù)類型有哪些

整型--int

布爾型--bool

字符串--str

列表--list

元組--tuple

字典--dict

11、簡(jiǎn)述面向?qū)ο笾衉_new__和__init__區(qū)別

__init__是初始化方法,創(chuàng)建對(duì)象后,就立刻被默認(rèn)調(diào)用了,可接收參數(shù),如圖

 

1、__new__至少要有一個(gè)參數(shù)cls,代表當(dāng)前類,此參數(shù)在實(shí)例化時(shí)由Python解釋器自動(dòng)識(shí)別。

2、__new__必須要有返回值,返回實(shí)例化出來(lái)的實(shí)例,這點(diǎn)在自己實(shí)現(xiàn)__new__時(shí)要特別注意,可以return父類(通過(guò)super(當(dāng)前類名, cls))__new__出來(lái)的實(shí)例,或者直接是object的__new__出來(lái)的實(shí)例。

3、__init__有一個(gè)參數(shù)self,就是這個(gè)__new__返回的實(shí)例,__init__在__new__的基礎(chǔ)上可以完成一些其它初始化的動(dòng)作,__init__不需要返回值。

4、如果__new__創(chuàng)建的是當(dāng)前類的實(shí)例,會(huì)自動(dòng)調(diào)用__init__函數(shù),通過(guò)return語(yǔ)句里面調(diào)用的__new__函數(shù)的第一個(gè)參數(shù)是cls來(lái)保證是當(dāng)前類實(shí)例,如果是其他類的類名,;那么實(shí)際創(chuàng)建返回的就是其他類的實(shí)例,其實(shí)就不會(huì)調(diào)用當(dāng)前類的__init__函數(shù),也不會(huì)調(diào)用其他類的__init__函數(shù)。

 

12、簡(jiǎn)述with方法打開(kāi)處理文件幫我我們做了什么?

 

打開(kāi)文件在進(jìn)行讀寫(xiě)的時(shí)候可能會(huì)出現(xiàn)一些異常狀況,如果按照常規(guī)的f.open寫(xiě)法,我們需要try,except,finally,做異常判斷,并且文件最終不管遇到什么情況,都要執(zhí)行finally f.close()關(guān)閉文件,with方法幫我們實(shí)現(xiàn)了finally中f.close(當(dāng)然還有其他自定義功能,有興趣可以研究with方法源碼)。

13、列表[1,2,3,4,5],請(qǐng)使用map()函數(shù)輸出[1,4,9,16,25],并使用列表推導(dǎo)式提取出大于10的數(shù),最終輸出[16,25]?

map()函數(shù)第一個(gè)參數(shù)是fun,第二個(gè)參數(shù)是一般是list,第三個(gè)參數(shù)可以寫(xiě)list,也可以不寫(xiě),根據(jù)需求。

 

14、python中生成隨機(jī)整數(shù)、隨機(jī)小數(shù)、0--1之間小數(shù)方法

隨機(jī)整數(shù):random.randint(a,b),生成區(qū)間內(nèi)的整數(shù)。

隨機(jī)小數(shù):習(xí)慣用numpy庫(kù),利用np.random.randn(5)生成5個(gè)隨機(jī)小數(shù)。

0-1隨機(jī)小數(shù):random.random(),括號(hào)中不傳參。

 

15、避免轉(zhuǎn)義給字符串加哪個(gè)字母表示原始字符串?

r , 表示需要原始字符串,不轉(zhuǎn)義特殊字符。

16、

中國(guó)
,用正則匹配出標(biāo)簽里面的內(nèi)容(“中國(guó)”),其中class的類名是不確定的。

 

17、python中斷言方法舉例

assert()方法,斷言成功,則程序繼續(xù)執(zhí)行,斷言失敗,則程序報(bào)錯(cuò)。

18、數(shù)據(jù)表student有id,name,score,city字段,其中name中的名字可有重復(fù),需要消除重復(fù)行,請(qǐng)寫(xiě)sql語(yǔ)句

select distinct name from student

19、10個(gè)Linux常用命令

ls pwd cd touch rm mkdir tree cp mv cat more grep echo 

20、python2和python3區(qū)別?列舉5個(gè)

1、Python3 使用 print 必須要以小括號(hào)包裹打印內(nèi)容,比如 print('hi')

Python2 既可以使用帶小括號(hào)的方式,也可以使用一個(gè)空格來(lái)分隔打印內(nèi)容,比如 print 'hi'

2、python2 range(1,10)返回列表,python3中返回迭代器,節(jié)約內(nèi)存

3、python2中使用ascii編碼,python中使用utf-8編碼

4、python2中unicode表示字符串序列,str表示字節(jié)序列

   python3中str表示字符串序列,byte表示字節(jié)序列

5、python2中為正常顯示中文,引入coding聲明,python3中不需要

6、python2中是raw_input()函數(shù),python3中是input()函數(shù)

21、列出python中可變數(shù)據(jù)類型和不可變數(shù)據(jù)類型,并簡(jiǎn)述原理

不可變數(shù)據(jù)類型:數(shù)值型、字符串型string和元組tuple不允許變量的值發(fā)生變化,如果改變了變量的值,相當(dāng)于是新建了一個(gè)對(duì)象,而對(duì)于相同的值的對(duì)象,在內(nèi)存中則只有一個(gè)對(duì)象(一個(gè)地址),如下圖用id()方法可以打印對(duì)象的id。

 

可變數(shù)據(jù)類型:列表list和字典dict;允許變量的值發(fā)生變化,即如果對(duì)變量進(jìn)行append、+=等這種操作后,只是改變了變量的值,而不會(huì)新建一個(gè)對(duì)象,變量引用的對(duì)象的地址也不會(huì)變化,不過(guò)對(duì)于相同的值的不同對(duì)象,在內(nèi)存中則會(huì)存在不同的對(duì)象,即每個(gè)對(duì)象都有自己的地址,相當(dāng)于內(nèi)存中對(duì)于同值的對(duì)象保存了多份,這里不存在引用計(jì)數(shù),是實(shí)實(shí)在在的對(duì)象。

 

 

22、s = "ajldjlajfdljfddd",去重并從小到大排序輸出"adfjl"

set去重,去重轉(zhuǎn)成list,利用sort方法排序,reeverse=False是從小到大排

list是不 變數(shù)據(jù)類型,s.sort時(shí)候沒(méi)有返回值,所以注釋的代碼寫(xiě)法不正確。

 

23、用lambda函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)相乘

 

 

24、字典根據(jù)鍵從小到大排序

dic={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}

 

25、利用collections庫(kù)的Counter方法統(tǒng)計(jì)字符串每個(gè)單詞出現(xiàn)的次數(shù)"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"