您好,登錄后才能下訂單哦!
本篇內容主要講解“Python面試題及答案有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python面試題及答案有哪些”吧!
第一題 、== 和 is 的區別?
== 比較的是值,is比較的是值和引用(對象內存空間)
比如:
>>> a = 123>>> b = 123>>> a == bTrue>>> a is bTrue>>> id(a)9670848>>> id(b)9670848
只要是不可變類型變量(數值型,字符串),只要值一樣,對象內存空間也一樣。
可變類型變量的is 和 ==
>>> c = [1,2,3]>>> d = [1,2,3]>>> c == dTrue>>> c is bFalse>>> id(c)140470599331072>>> id(d)140470599331200
對于可變類型,每一個變量的內存空間都是不一樣的。
第二題、Python中單下劃線_foo與雙下劃線__foo與__foo__的成員理解
1、 _foo 不能直接用于’from module import *’
2、__foo解析器用_classname__foo來代替這個名字,以區別和其他類相同的命名
3、__foo__代表python里特殊方法專用的標識
第三題、__new__和__init__的區別?
1、__new__是一個靜態方法,而__init__是一個實例方法
2、__new__方法會返回一個創建的實例,而__init__什么都不返回
3、只有在__new__返回一個cls的實例時,后面的__init__才能被調用
4、當創建一個新實例時調用__new__,初始化一個實例時用__init__
第四題、sinstance和issubclass的作用?
1、sinstance(object,classinfo),用于判斷object是否是classinfo的一個實例,或者object是否是classinfo類的子類的一個實例,如果是返回True.
2、issubclass(class,classinfo),用于判斷class是否是classinfo類的子類,如果是返回True.
第五題、以下Python2和Python3的說法正確的有(ABC)
A、Python3使用 print 必須要以小括號包裹打印內容
B、Python2中使用ascii編碼,Python3中使用utf-8編碼
C、Python2中是raw_input()函數,Python3中是input()函數
D、Python2中range(1,10)返回列表,Python3中返回迭代器
D答案、python2中返回是列表,在python3中返回是range類型,并不是迭代器
第六題、如何理解 python的GIL?
首先需要明確的一點是GIL并不是Python的特性,它是在實現Python解析器(CPython)時所引入的一個概念,
為什么會與GIL,為了利用多核,Python開始支持多線程。而解決多線程之間數據完整性和狀態同步的最簡單方法自然就是加鎖。 于是有了GIL這把超級大鎖,而當越來越多的代碼庫開發者接受了這種設定后,他們開始大量依賴這種特性(即默認python內部對象是thread-safe的,無需在實現時考慮額外的內存鎖和同步操作。
GIL 的全程為 Global Interpreter Lock ,意即全局解釋器鎖。
在 Python 語言的主流實現 CPython 中,GIL 是一個貨真價實的全局線程鎖,在解釋器解釋執行任何 Python 代碼時,都需要先獲得這把鎖才行,在遇到 I/O 操作時會釋放這把鎖。如果是純計算的程序,沒有 I/O 操作,解釋器會每隔 100 次操作就釋放這把鎖,讓別的線程有機會執行,這個次數可以通過sys.setcheckinterval。如果不釋放這把鎖其他的程序會處于等待狀態。
第七題、簡述with方法打開處理文件幫我我們做了什么?
打開文件在進行讀寫操作時可能會出現一些異常狀況,如果按照常規的file.open寫法,我們需要try,except,finally,做異常判斷,并且文件最終不管遇到什么情況,都要執行finally的file.close()關閉文件
with方法幫我們實現了finally中file.close()操作 ,如下
第八題、避免轉義給字符串加哪個字母表示原始字符串
r,表示需要原始字符串,不轉義特殊字符
第九題、Python中斷言方法舉例。
assert()方法,斷言成功,則程序繼續執行;斷言失敗,則程序報錯
第十題、怎么將一個列表類型轉換為 迭代器
>>> a = [1,2,3,4,5,6]>>> a = iter(a)>>> next(a)1>>> a = [1,2,3,4,5,6]>>> a = a.__iter__()>>> a.__next__()1
到此,相信大家對“Python面試題及答案有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。