Python作為人工智能知識的基礎(chǔ)知識,加上有許多公司都在招python方面的程序員,那么小編在這里整理了一些Python最常見的面試題。在python基礎(chǔ)中,很明顯我們需要了解python的特性,像面向?qū)ο笏枷?,字符串的操作,推?dǎo)式,實例化,多線程多進程以及初始化這些都是必須了解的。
| 在python中,如何交換兩個變量的值 |
這個問題,考了python特殊的語法,也就是a, b = b, a,這個表達式,也是其他語言所沒有的,是只有python自帶的。
| 字符串的拼接–如何高效的拼接兩個字符串 |
我們都知道python中,拼接字符串可以用”+”來拼接,然而這個方法并不是高效的,因為如果需要拼接的字符串有很多(n個)的情況下,使用”+”的話,python解釋器會申請n-1次內(nèi)存空間,然后進行拷貝,因為字符串在python中是不可變的,所以當進行拼接的時候,會需要申請一個新的內(nèi)存空間。所以,正確答案是,使用.join(list),因為它只使用了一次內(nèi)存空間。
| 如何復(fù)制Python中的對象 |
要在Python中復(fù)制對象,一般情況下可以嘗試copy.copy()或copy.deepcopy()。不能復(fù)制所有的對象,但大多數(shù)還是可以的。
| Python 中如何實現(xiàn)多線程 |
線程是輕量級的進程,多線程允許一次執(zhí)行多個線程。眾所周知,Python 是一種多線程語言,它有一個多線程包。
GIL(全局解釋器鎖)確保一次執(zhí)行單個線程。一個線程保存 GIL 并在將其傳遞給下一個線程之前執(zhí)行一些操作,這就產(chǎn)生了并行執(zhí)行的錯覺。但實際上,只是線程輪流在 CPU 上。當然,所有傳遞都會增加執(zhí)行的開銷。
| python中深淺拷貝的區(qū)別 |
淺拷貝沒有拷貝子對象,所以原對象發(fā)生改變,其子對象也發(fā)生了改變,而深拷貝拷貝了子對象,原對象發(fā)生改變,其本身也不會改變。
| 解釋如何在Unix上創(chuàng)建一個Python腳本可執(zhí)行文件 |
要在Unix上創(chuàng)建Python腳本可執(zhí)行文件需要做兩件事情:
Script文件的模式必須是可執(zhí)行的
第一行必須以#(#!/ usr / local / bin / python)開頭
| 如何在 Python 中管理內(nèi)存 |
Python 用一個私有堆內(nèi)存空間來放置所有對象和數(shù)據(jù)結(jié)構(gòu),我們無法訪問它。由解釋器來管理它。不過使用一些核心 API,我們可以訪問一些 Python 內(nèi)存管理工具控制內(nèi)存分配。
| 類的初始化:new() 和 init() |
new()方法用來實例化最終的類對象,在類創(chuàng)建之前被調(diào)用,它在類的主體被執(zhí)行完后開始執(zhí)行。
init()方法是在類被創(chuàng)建之后被調(diào)用,用來執(zhí)行其他的一些輸出化工作
當我們構(gòu)造元類的時候,通常只需要定一個init()或new()方法,但不是兩個都定義。但是,如果需要接受其他的關(guān)鍵詞參數(shù)的話,這兩個方法就要同時提供,并且都要提供對應(yīng)的參數(shù)簽名。
| 簡單說明在Python中如何使用split函數(shù) |
在Python中使用split函數(shù)是使用定義的分隔符將字符串分解成更短的字符串。它給出了字符串中所有單詞的列表。
| 給定一串排好序的列表,打亂這個函數(shù) |
這個題考了python里的shuffle函數(shù)的用法。
| 給定一串字典(或列表),找出指定的(前N個)最大值?最小值 |
這道題的考點是python內(nèi)的heapq模塊的nlargest() 和 nsmallest(), 而不是min()和max()。這兩個函數(shù)都能接收關(guān)鍵字參數(shù),用于復(fù)雜的結(jié)構(gòu)數(shù)據(jù)中:
| Python 區(qū)分大小寫嗎 |
驗證 Python 是否區(qū)分大小寫的方法是測試 myname 和 Myname 在程序中是不是算同一個標識符。觀察以下代碼的返回結(jié)果:
Myname
NameError: name ‘Myname’ is not defined
如你所見,這里出現(xiàn)了 NameError,所以 Python 是區(qū)分大小的語言。
| 實現(xiàn)一個斐波那契數(shù)列的生成器 |
這道題的考點關(guān)鍵是生成器的yield關(guān)鍵字將一個普通函數(shù)改造成生成器函數(shù):

| 使用字符串拼接達到字幕滾動效果 |

| Python 中標識符的命名規(guī)則 |
Python 中的標識符可以是任意長度,但必須遵循以下命名規(guī)則:
1. 只能以下劃線或者 A-Z/a-z 中的字母開頭。
2. 其余部分只能使用 A-Z/a-z/0-9。
3. Python 標識符區(qū)分大小寫。
4. 關(guān)鍵字不能作為標識符。Python 有以下這些關(guān)鍵字:

-
人工智能
+關(guān)注
關(guān)注
1819文章
50264瀏覽量
266682 -
字符
+關(guān)注
關(guān)注
0文章
237瀏覽量
26264 -
python
+關(guān)注
關(guān)注
58文章
4882瀏覽量
90274
原文標題:“搞定”面試官,最常見的Python面試題(文末資料大禮包)
文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
常見的嵌入式C語言面試題
C/C++程序員應(yīng)聘常見面試題深入解析
視頻教程:Java常見面試題目深度解析!
FPGA/集成電路 筆試面試題解答
互聯(lián)網(wǎng)公司Python的16道經(jīng)典面試題
Python的一些經(jīng)典面試題資料合集免費下載
Python最常見的面試題解答
評論