110道python面試筆試題匯總


1、一行代碼實現1--100之和

利用sum()函數求和

a=sum(range(0,101))
print('輸出1-100的和:')
print(a)

------------------執行以上程序,返回的結果為------------------
輸出1到100的和:
5050

 

2、如何在一個函數內部修改全局變量

利用global 修改全局變量

a=5

def fn():
    global a
    a=4

fn()
print('利用global在一個函數內部修改全局變量:') print(a)

------------------執行以上程序,返回的結果為------------------
4

 

3、列出5個python標准庫

os:提供了不少與操作系統相關聯的函數

sys:   通常用於命令行參數

re:   正則匹配

math: 數學運算

datetime:處理日期時間

 

4、字典如何刪除鍵和合並兩個字典

del和update方法

dic={'name':'zs','age':18}
print('字典1:')
print(dic) del dic[
'name'] print('字典刪除鍵')
print(dic)
dic2={'name':'1s'}
print('字典2:')
print(dic2)
dic.update(dic2)
print('合並字典1和字典2:')
print(dic)

------------------執行以上程序,返回的結果為------------------
字典1:
{'name': 'zs', 'age': 18}
字典刪除鍵
{'age': 18}
字典2:
{'name': '1s'}
合並字典1和字典2:
{'age': 18, 'name': '1s'}

 

5、談下python的GIL

GIL 是python的全局解釋器鎖,同一進程中假如有多個線程運行,一個線程在運行python程序的時候會霸占python解釋器(加了一把鎖即GIL),使該進程內的其他線程無法運行,等該線程運行完后其他線程才能運行。如果線程運行過程中遇到耗時操作,則解釋器鎖解開,使其他線程運行。所以在多線程中,線程的運行仍是有先后順序的,並不是同時進行。

多進程中因為每個進程都能被系統分配資源,相當於每個進程有了一個python解釋器,所以多進程可以實現多個進程的同時運行,缺點是進程系統資源開銷大

 

6、python實現列表去重的方法

先通過集合去重,在轉列表

list=[11,12,13,12,14,15]
a=set(list)
print(a)

------------------執行以上程序,返回的結果為------------------
{11, 12, 13, 14, 15}

 

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

 

 

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

python2返回列表,python3返回迭代器,節約內存

 

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

函數可以作為參數傳遞的語言,可以使用裝飾器

 

10、python內建數據類型有哪些

整型--int

布爾型--bool

字符串--str

列表--list

元組--tuple

字典--dict

 

11、簡述面向對象中__new__和__init__區別

__init__是初始化方法,創建對象后,就立刻被默認調用了,可接收參數,如圖

 1、__new__至少要有一個參數cls,代表當前類,此參數在實例化時由Python解釋器自動識別

2、__new__必須要有返回值,返回實例化出來的實例,這點在自己實現__new__時要特別注意,可以return父類(通過super(當前類名, cls))__new__出來的實例,或者直接是object的__new__出來的實例

3、__init__有一個參數self,就是這個__new__返回的實例,__init__在__new__的基礎上可以完成一些其它初始化的動作,__init__不需要返回值

4、如果__new__創建的是當前類的實例,會自動調用__init__函數,通過return語句里面調用的__new__函數的第一個參數是cls來保證是當前類實例,如果是其他類的類名,;那么實際創建返回的就是其他類的實例,其實就不會調用當前類的__init__函數,也不會調用其他類的__init__函數。

 

 12、簡述with方法打開處理文件幫我我們做了什么?

打開文件在進行讀寫的時候可能會出現一些異常狀況,如果按照常規的f.open

寫法,我們需要try,except,finally,做異常判斷,並且文件最終不管遇到什么情況,都要執行finally f.close()關閉文件,with方法幫我們實現了finally中f.close

(當然還有其他自定義功能,有興趣可以研究with方法源碼)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM