來源 | Python語音識(shí)別??
作者 | 深度學(xué)習(xí)與python(ID:PythonDC)
Python是目前編程領(lǐng)域最受歡迎的語言。在本文中,我將總結(jié)Python面試中最常見的100個(gè)問題。每道題都提供參考答案,希望能夠幫助你在2019年求職面試中脫穎而出,找到一份高薪工作。這100道面試題涉及Python基礎(chǔ)知識(shí)、Python編程、數(shù)據(jù)分析以及Python函數(shù)庫等多個(gè)方面。
前50道面試題 :
Q51、python中編譯和鏈接過程?
編譯和鏈接允許正確編譯新擴(kuò)展而不會(huì)出現(xiàn)任何錯(cuò)誤,并且只有在通過編譯過程時(shí)才能進(jìn)行鏈接。如果使用動(dòng)態(tài)加載,則它取決于系統(tǒng)提供的樣式。python解釋器可用于提供配置設(shè)置文件的動(dòng)態(tài)加載,并將重建解釋器。
這需要的步驟如下:
-
使用任何名稱以及系統(tǒng)編譯器支持的任何語言創(chuàng)建文件。例如file.c或file.cpp
-
將此文件放在正在使用的Modules目錄中。
-
在Modules目錄中存在的Setup.local文件中添加一行。
-
使用spam file.o運(yùn)行該文件
-
通過在頂層目錄上使用make命令成功運(yùn)行此重建解釋器之后。
-
如果文件已更改,則使用命令“make Makefile”運(yùn)行rebuildMakefile。
Q52、什么是Python庫? 舉幾個(gè)例子 。
Python庫是Python包的集合。一些主要使用的python庫是Numpy、Pandas、Matplotlib和Scikit-learn等等。
Q53、什么是split函數(shù)?
split()函數(shù)用于在Python中分隔給定的字符串。例如
輸出為:
Q54、如何在python中導(dǎo)入模塊?
可以使用import關(guān)鍵字導(dǎo)入模塊。import有三種使用方式:
Q55、解釋Python中的繼承。
繼承允許一個(gè)類獲得另一個(gè)類的所有元素(比如屬性和方法)。繼承提供代碼可重用性,使創(chuàng)建和維護(hù)應(yīng)用程序更容易。我們繼承的類稱為超類,繼承的類稱為派生/子類。
以下是Python支持的不同類型的繼承:
-
單一繼承??- 派生類獲取單個(gè)超類的成員。
-
多級(jí)繼承??- 從基類base1繼承的派生類d1,d2繼承自base2。
-
分層繼承??- 從一個(gè)基類可以繼承任意數(shù)量的子類
-
多重繼承??- 派生類從多個(gè)基類繼承。
Q56、如何在Python中創(chuàng)建類?
Python中的類是使用class關(guān)鍵字創(chuàng)建的。舉例如下:
Q57、什么是Python補(bǔ)丁?
在Python中,補(bǔ)丁是指在運(yùn)行時(shí)通過類外部的函數(shù)對(duì)類或模塊進(jìn)行動(dòng)態(tài)修改。
現(xiàn)在我們使用在函數(shù)m.py之外定義的函數(shù)monkey_f()在MyClass中對(duì)f()的行為進(jìn)行了一些更改。
Q58、python是否支持多重繼承?
多重繼承意味著可以從多個(gè)父類派生一個(gè)類。與Java不同,Python支持多重繼承。
Q59、什么是Python中的多態(tài)性?
多態(tài)性表示能夠采取多種形式。因此如果父類具有名為ABC的方法,則子類也可以具有具有相同名稱ABC的方法,該方法具有其自己的參數(shù)和變量。Python允許多態(tài)。
Q60、在Python中定義封裝?
封裝意味著將代碼和數(shù)據(jù)綁定在一起,封裝示例中的Python類。
Q61、如何在Python中進(jìn)行數(shù)據(jù)抽象?
數(shù)據(jù)抽象僅提供所需的詳細(xì)信息并將實(shí)現(xiàn)隱藏起來。它可以通過使用接口和抽象類在Python中實(shí)現(xiàn)。
Q62、python是否使用了訪問說明符?
Python不會(huì)限制對(duì)實(shí)例變量或函數(shù)的訪問權(quán)限。Python規(guī)定了使用單個(gè)或雙下劃線為變量,函數(shù)或方法的名稱添加前綴的概念,類似于受保護(hù)和私有訪問說明符。
Q63、如何在Python中創(chuàng)建一個(gè)空類?
空類是在其塊中沒有定義任何代碼的類。它可以使用pass關(guān)鍵字創(chuàng)建。但是,您可以在類本身之外創(chuàng)建此類的對(duì)象。PASS命令在執(zhí)行時(shí)不執(zhí)行任何操作。這是一個(gè)空語句。
Q64、object()函數(shù)有什么作用?
它返回一個(gè)無特征的對(duì)象,它是所有類的基礎(chǔ)。此外,它不包含任何參數(shù)。
Q65、用Python實(shí)現(xiàn)冒泡排序算法。
輸出結(jié)果為:
Q66、用Python編寫程序來生成Star三角形。
Q67、用Python生成Fibonacci數(shù)列。
Q68、用Python編寫程序來檢查數(shù)字是否為素?cái)?shù)。
輸出結(jié)果為
Q69、用Python編寫程序來檢查序列是否是回文序列。
輸出結(jié)果為
Q70、寫一個(gè)統(tǒng)計(jì)文件中大寫字母的數(shù)量的代碼
多行代碼實(shí)現(xiàn)
單行代碼實(shí)現(xiàn)
Q71、Python實(shí)現(xiàn)列表排序算法。
Q72、閱讀下面的代碼,求A0,A1...的值。
輸出結(jié)果為
Q73、描述一下Flask?
Flask是基于“Werkzeug,Jinja2和良好意圖”BSD許可證的Python網(wǎng)絡(luò)微框架。Werkzeug和Jinja2是它的兩個(gè)依賴項(xiàng)。這意味著它對(duì)外部庫幾乎沒有依賴性。它使框架輕松,同時(shí)有一點(diǎn)依賴更新和更少的安全漏洞。會(huì)話基本上允許您記住從一個(gè)請(qǐng)求到另一個(gè)請(qǐng)求的信息。在一個(gè)Flask中,會(huì)話使用簽名的cookie,以便用戶可以查看會(huì)話內(nèi)容并進(jìn)行修改。如果只有密鑰Flask.secret_key,則用戶可以修改會(huì)話。
Q74、比較Django與Flask?
Django和Flask將Web瀏覽器中鍵入的URL或地址映射到Python中的函數(shù)。
與Django相比,F(xiàn)lask要簡單得多,但Flask并沒有為你做很多事情意味著你需要指定細(xì)節(jié),而Django為你做了很多事情,你不需要做太多工作。Django由預(yù)編寫的代碼組成,用戶需要分析這些代碼,而Flask則允許用戶創(chuàng)建自己的代碼,因此,使代碼更容易理解。從技術(shù)上講,兩者都同樣好,都有自己的優(yōu)點(diǎn)和缺點(diǎn)。
Q75、提到Django,Pyramid和Flask之間的差異
-
Flask是一個(gè)“微框架”,主要用于具有更簡單要求的小型應(yīng)用程序。在燒瓶中,您必須使用外部庫。Flask已準(zhǔn)備好使用。
-
Pyramid適用于大型應(yīng)用程序。它提供了靈活性,并允許開發(fā)人員為他們的項(xiàng)目使用正確的工具。開發(fā)人員可以選擇數(shù)據(jù)庫,URL結(jié)構(gòu),模板樣式等。金字塔是可配置的。
-
Django也可以像Pyramid一樣用于更大的應(yīng)用程序。它包括一個(gè)ORM。
Q76、討論Django架構(gòu)。
Django開發(fā)人員提供模型,視圖和模板,然后將其映射到URL,Django可以為用戶提供服務(wù)。Django MVT模式:
Q77、解釋如何在Django中設(shè)置數(shù)據(jù)庫。
你可以使用命令edit mysite / setting.py,它是一個(gè)普通的python模塊,模塊級(jí)別代表Django設(shè)置。Django默認(rèn)使用SQLite,對(duì)于Django用戶來說不需要安裝其他東西。如果您的數(shù)據(jù)庫選擇不同,則必須使用DATABASE default 項(xiàng)中的以下鍵來匹配您的數(shù)據(jù)庫連接設(shè)置。
-
引擎:您可以使用'django.db.backends.sqlite3','django.db.backeneds.mysql','django.db.backends.postgresql_psycopg2','django.db.backends.oracle'等來更改數(shù)據(jù)庫
-
名稱:數(shù)據(jù)庫的名稱。如果您使用SQLite作為數(shù)據(jù)庫,那么在這種情況下,數(shù)據(jù)庫將是您計(jì)算機(jī)上的文件,Name應(yīng)該是完整的絕對(duì)路徑,包括該文件的文件名。
-
如果您不選擇SQLite作為數(shù)據(jù)庫,則必須添加密碼,主機(jī),用戶等設(shè)置。
Q78、舉例說明如何在Django中編寫VIEW?
這就是我們?nèi)绾问褂迷贒jango中編寫視圖的代碼:
Q79、Django模板的組成部分。
模板是一個(gè)簡單的文本文件。它可以創(chuàng)建任何基于文本的格式,如XML,CSV,HTML等。模板包含在評(píng)估模板時(shí)替換為值的變量和控制模板邏輯的標(biāo)記。
Q80、在Django框架中如何使用會(huì)話?
Django提供了一個(gè)會(huì)話,允許每個(gè)站點(diǎn)訪問者存儲(chǔ)和檢索數(shù)據(jù)。Django通過在客戶端放置會(huì)話ID cookie并在服務(wù)器端存儲(chǔ)所有相關(guān)數(shù)據(jù)來抽象發(fā)送和接收cookie的過程。
Q81、列出Django中的繼承樣式。
在Django中,有三種繼承模式:
-
抽象基類:當(dāng)只希望父類包含您不想為每個(gè)子模型鍵入的信息時(shí),使用此樣式。
-
多表繼承:使用此樣式如果要對(duì)現(xiàn)有模型進(jìn)行子類化,那么需要每個(gè)模型都有自己的數(shù)據(jù)庫表。
-
代理模式:如果只想修改模型的Python級(jí)別行為,而無需更改模型的字段。則可以使用此模式。
Q82、如何使用我已經(jīng)知道的URL地址本地保存圖像?
使用以下代碼從URL地址本地保存圖像
Q83、如何獲取任何網(wǎng)址或網(wǎng)頁的Google緩存時(shí)限?
使用以下URL格式:
http://webcache.googleusercontent.com/search?q=cache:URLGOESHERE
請(qǐng)務(wù)必將“URLGOESHERE”替換為您要檢索其緩存的頁面或網(wǎng)站的正確網(wǎng)址,并查看時(shí)間。例如要查看edureka.co的Google Webcache時(shí)代,您需要使用以下網(wǎng)址:
http://webcache.googleusercontent.com/search?q=cache:edureka.co
Q84、爬取IMDb上前250部電影數(shù)據(jù)
我們將使用以下代碼行:
Q85、介紹下Python中的map函數(shù)?
map函數(shù) 會(huì)根據(jù)提供的函數(shù)對(duì)指定序列做映射。 其中第一個(gè)參數(shù) function 以參數(shù)序列中的每一個(gè)元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。
Q86、python numpy比列表更好嗎?
我們使用python numpy數(shù)組而不是列表,原因如下:減少內(nèi)存使用、快速且方便。
Q87、如何在NumPy數(shù)組中獲得N個(gè)最大值的索引?
我們可以使用以下代碼獲取NumPy數(shù)組中N個(gè)最大值的索引:
Q88、你如何用Python / NumPy計(jì)算百分位數(shù)?
我們可以使用以下代碼計(jì)算百分位數(shù)
Q89、NumPy和SciPy有什么區(qū)別?
-
NumPy只包含數(shù)組數(shù)據(jù)類型和最基本的操作:索引,排序,重新整形,基本元素函數(shù)等等。
-
所有數(shù)字代碼都將儲(chǔ)存在SciPy中。然而,NumPy的一個(gè)重要目標(biāo)是兼容性,因此NumPy試圖保留其前任任何一個(gè)支持的所有功能。
-
NumPy包含一些線性代數(shù)函數(shù),而SciPy包含更多全功能的線性代數(shù)函數(shù)以及許多其他數(shù)值算法。
-
如果你使用python進(jìn)行科學(xué)計(jì)算,你應(yīng)該安裝NumPy和SciPy。scipy中提供更多的函數(shù)功能。
Q90、如何使用NumPy / SciPy制作3D繪圖/可視化?
與2D繪圖一樣,3D圖形超出了NumPy和SciPy的范圍,但就像2D情況一樣,存在與NumPy集成的包。Matplotlib在mplot3d子包中提供基本的3D繪圖,而Mayavi使用功能強(qiáng)大的VTK引擎提供各種高質(zhì)量的3D可視化功能。
Q91、以下哪個(gè)語句創(chuàng)建字典? (多選)
a)d = {}?
b)d = {“john”:40,“peter”:45}?
c)d = {40:“john”,45:“peter”}?
d)d =(40:“john” ,45:“50”)
答案:b,c&d。通過指定鍵和值來創(chuàng)建字典。
Q92、Python中的“/”與“//”?
當(dāng)兩個(gè)操作數(shù)都是整數(shù)時(shí),python會(huì)刪除小數(shù)部分并給出舍入值,因此需要使用"http://"以獲得準(zhǔn)確的答案。例如,5/2 = 2.5,但兩個(gè)操作數(shù)都是整數(shù),因此在python中對(duì)此表達(dá)式的回答是2.要獲得2.5作為答案,所以5 // 2 = 2.5。
Q93、標(biāo)識(shí)符的最大可能長度是多少?
標(biāo)識(shí)符可以是任意長度。
Q94、為什么不鼓勵(lì)以下劃線開頭的局部變量名?
由于Python沒有私有變量的概念,因此前導(dǎo)下劃線用于表示不能從類外部訪問的變量。
Q95、以下哪項(xiàng)是無效聲明?
a)abc = 1,000,000?
b)abc = 1000 2000 3000?
c)a,b,c =?1000,2000,3000?
d)a_b_c = 1,000,000
答案:b)abc = 1000 2000 3000
變量名中不允許使用空格。
Q96、以下代碼輸出是什么?
a)someError?has?occured
b)someError?has?not?occured
c)無效代碼
d)以上都沒有
答案:c)代碼無效。 新的異常類必須從BaseException繼承。
Q97、假設(shè)list1是[2,33,222,14,25],什么是list1 [-1]?
索引-1對(duì)應(yīng)于列表中的最后一個(gè)索引,即為25。
Q98、要打開文件c: scores.txt進(jìn)行寫入,可以使用
a)outfile = open(“c:scores.txt”,“r”)
b)outfile = open(“c:scores.txt”,“w”)
c)outfile = open(file =“c:scores.txt “,”r“)
d)outfile = open(file =”c:scores.txt“,”o“)
答案:b)該位置包含雙斜杠(),w用于表示正在寫入文件。
Q99、以下輸出是什么?
a) True
b) False
c) None
d) Error
答案:a)True,與open文件一起使用時(shí),WITH語句可確保在with塊退出時(shí)關(guān)閉文件對(duì)象。
Q100、try-except-else的else部分什么時(shí)候執(zhí)行?
a)總是
b)當(dāng)發(fā)生異常時(shí)
c)當(dāng)沒有異常發(fā)生時(shí)
d)當(dāng)除了塊之外發(fā)生異常時(shí)
答案:c)沒有異常發(fā)生時(shí), 當(dāng)沒有異常發(fā)生時(shí),執(zhí)行else部分。
(*本文為 AI科技大本營整理文章,轉(zhuǎn)載請(qǐng)聯(lián)系 1092722531)
◆
精彩推薦
◆
比寫代碼更重要的是抓住下一個(gè)技術(shù)風(fēng)口。 6 月 AI技術(shù)福利 ,亞馬遜、微軟、BTA、滴滴、字節(jié)跳動(dòng)、美團(tuán)等一線公司大牛帶你一起探索機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、自然語言處理、知識(shí)圖譜等熱門技術(shù)領(lǐng)域的未來方向以及落地實(shí)踐。
限免即將結(jié)束,速領(lǐng)~
推薦閱讀:
-
我發(fā)現(xiàn)一個(gè)新的軟件,用自然語言編程!非常酷!
-
香港的房價(jià)真的那么貴嗎?用數(shù)據(jù)挖掘真相!
-
阿里巴巴楊群:高并發(fā)場景下Python的性能挑戰(zhàn)
-
媲美Pandas?Python的Datatable包怎么用?
-
通俗易懂!使用Excel和TF實(shí)現(xiàn)Transformer!
-
從0到1:Web開發(fā)繞不開的WSGI到底是什么?
-
24式,加速你的Python
-
Python從入門到精通,這篇文章為你列出了25個(gè)關(guān)鍵技術(shù)點(diǎn)(附代碼)
-
500行Python代碼打造刷臉考勤系統(tǒng)

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
