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

更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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