前 44 個 Python 面試問題和答案:2022 年終極指南
已發表: 2021-06-22參加Python 面試並想知道您將經歷的所有問題和討論是什麼? 在參加 Python 面試之前,最好先了解一下Python 面試問題的類型,以便為它們準備答案。
無可爭議的當今最流行的編程語言之一,Python 是成熟和初學者程序員的熱門選擇。 而且,語言的易用性有助於開發一些適用於現實世界的有趣的 Python 項目。 它的簡單性和易用性使其廣受歡迎。 更不用說,它是數據科學和數據可視化領域的首選語言,以及 R。
話雖如此,Python 對於任何人的工具包來說都是一種非常重要的語言。 為了幫助您,我創建了頂級Python 面試問題和答案指南,以了解 Python 面試問題的深度和真實意圖。
為了幫助您,我創建了頂級Python 面試問題和答案指南,以了解 Python 面試問題的深度和真實意圖。 讓我們開始吧。
除了這些問題之外,您還將獲得代碼片段,您必須在其中推斷出結果值或語句(或缺少它)。 這些無法預測,將取決於您的編程實踐。 從公認的機構學習數據科學將幫助您輕鬆通過 python 面試並獲得您一直想要的夢想工作。
讓我們從頂級 python 面試問題和答案開始。
目錄
2022 年 Python 面試問答
Q 1) Python 中的模塊和包有什麼區別?
A 1) 每個 Python 程序文件都是一個模塊,它可以導入其他模塊,如對象。 因此,模塊是構建程序的一種方式。 Python 程序的文件夾稱為模塊包。
Q 2) Python 中可用的內置類型有哪些?
A 2)最常見的python面試問題之一,有可變和不可變的內置類型。
可變的包括:
- 列表
- 套
- 字典
不可變類型包括:
- 字符串
- 元組
- 數字
Q 3) Python 中的 lambda 函數是什麼?
A 3) 常作為內聯函數使用,是單表達式匿名函數。 它用於創建一個新的函數對象並在運行時返回它們。
Lambda 是 Python 中的一個匿名函數,它可以接受任意數量的參數,並且可以有任意數量的參數。 但是,lambda 函數只能有一個表達式或語句。 通常,它用於在短時間內需要匿名函數的情況。 Lambda 函數可以通過以下兩種方式之一使用:
以下是 lambda 函數的示例:
a = λ x,y : x+y
打印(一(5, 6))
輸出: 11
Q 4) 命名空間是什麼意思?
命名空間是指一種命名系統,用於確保 Python 程序中的所有對象名稱都是唯一的,以避免任何衝突。 在 Python 中,這些命名空間被實現為字典,將“name as key”映射到相應的“object as value”。 因此,多個命名空間可以使用相同的名稱並將其映射到不同的對象。
以下是 Python 中的三種命名空間:
- 本地命名空間——它包括函數內的本地名稱。 本地命名空間是為函數調用臨時創建的,並在函數返回時被清除。
- 全局命名空間——它由當前在項目中使用的各種導入包/模塊的名稱組成。 在腳本中導入包時會創建一個全局命名空間,並持續到腳本執行為止。
- 內置命名空間——它包括核心 Python 的內置函數和不同類型異常的內置名稱。
Q 5)解釋列表和元組之間的區別?
A 5) 如果沒有這個問題,任何 Python 面試問答指南都不會完成。 列表是可變的,而元組不是。 元組可以像為字典製作鍵一樣被散列。
Q 6) 酸洗和解酸的區別?
沒有這個問題,任何 Python 面試問答指南都不會完整。 在 Python 中,pickle 模塊接受任何 Python 對象,將其轉換為字符串表示形式,並使用轉儲函數將其轉儲到文件中。 這個過程被稱為酸洗。 這個過程使用的函數是pickle.dump()。
另一方面,從存儲的字符串表示中檢索原始 Python 對象的過程稱為 unpickling。 這個過程使用的函數是pickle.load()。
Q 7) Python 中的裝飾器是什麼?
A 7) Python 裝飾器是對 Python 語法進行的特定更改,以便於更改函數。
Q 8) 生成器和迭代器之間的區別?
A 8) 在 Python 中,迭代器用於迭代一組元素(例如,在列表中)。 實現這些迭代器的方式稱為生成器。 它在函數中產生一個表達式,但在其他方面表現得像一個普通函數。
Q 9) 如何將數字轉換為字符串?
A 9)最常見的python面試問題之一。 我們可以使用內置的 str() 函數。 對於八進製或十六進製表示,我們可以使用其他內置函數,如 oct() 或 hex()。
Q 10) Python 中 // 運算符的用途是什麼?
A 10) 在 2 個數字之間使用 // 運算符給出分子與分母相除的商。 它被稱為樓層劃分算子。 這是 Python 面試問答指南中的一般問題之一。
Q 11) Python 有像 C 語言那樣的 Switch 或 Case 語句嗎?
A 11) 不,它沒有。 但是,我們可以製作自己的 Switch 功能並使用它。
Q 12) 什麼是 range() 函數,它的參數是什麼?
A 12) range() 函數用於生成數字列表。 只允許整數,因此,參數既可以是負數也可以是正數。 以下參數是可接受的:
範圍(停止)
“停止”是沒有的。 要生成的整數,從 0 開始。示例:range(5) == [0,1,2,3,4]
範圍([開始],停止[,步驟])
開始:給出起始編號。 序列的
停止:指定序列的上限
Step:是序列中的遞增因子
Q 13) %s 有什麼用?
A 13) %s 是一個格式說明符,它將任何值轉換為字符串。
Q 14) Python 函數是否必須返回一個值?
14) 沒有
Q 15) Python 有 main() 函數嗎?
A 15) 是的,確實如此。 每當我們運行 Python 腳本時,它都會自動執行。 要覆蓋這種自然的事物流,我們還可以使用 if 語句。
問 16) 什麼是 GIL?
A 16) GIL 或 Global Interpreter Lock 是一個互斥鎖,用於限制對 Python 對象的訪問。 它同步線程並防止它們同時運行。
Q 17) 在使用“in”運算符之前,使用哪種方法來檢查字典中是否存在鍵?
A 17) has_key() 方法
Q 18) 如何更改列表的數據類型?
A 18) 要將列表更改為元組,我們使用 tuple() 函數
要將其更改為集合,我們使用 set() 函數
要將其更改為字典,我們使用 dict() 函數
要將其更改為字符串,我們使用 .join() 方法
Q 19) Python 的主要特性是什麼?
A 19) 是常見的python面試題之一。 Python 是一種開源的、高級的、通用的編程語言。 由於它是一種通用編程語言,並且帶有各種庫,因此您可以使用 Python 開發幾乎任何類型的應用程序。
它的一些主要特點是:
- 口譯
- 動態類型
- 面向對象
- 類似英語的語法
Q 20) 解釋 Python 中的內存管理。
A 20) 在 Python 中,Python 內存管理器負責內存管理。 它以存儲所有 Python 對象和數據結構的私有堆空間的形式分配內存,python 中有 4 個內置數據結構。 程序員無法訪問此私有空間。 但是,核心 API 允許程序員訪問一些工具以進行編碼。 另外,Python 配備了一個內置的垃圾收集器,可以為私有堆空間回收未使用的內存。
問 21) 什麼是 PYTHONPATH?
A 21) PYTHONPATH 是一個環境變量,用於在導入模塊/包時合併其他目錄。 每當導入模塊/包時,PYTHONPATH 用於檢查導入的模塊是否存在於現有目錄中。 通常,解釋器使用 PYTHONPATH 來確定要加載哪個模塊。
Q 22) Python 區分大小寫嗎?
A 22) 如果一種編程語言能夠區分諸如“myname”和“Myname”之類的標識符,則它被認為是區分大小寫的。 簡單來說,它關心大小寫——小寫或大寫。
讓我們看一個例子:
- >>> myname='約翰'
- >>> 我的名字
回溯(最近一次通話最後):
<module> 中的文件“<pyshell#3>”,第 1 行
我的名字
NameError :未定義名稱“Myname”
由於它引發了 NameError,這意味著 Python 是一種區分大小寫的語言。
閱讀更多: Python Pandas 教程
Q 23) 解釋“help()”和“dir()”函數的使用。
A 23) 任何 Python 面試問答指南中最常見的問題之一。 在 Python 中,help() 函數用於顯示模塊、類、函數、關鍵字等的文檔。 如果 help() 函數沒有接收到參數,它會在控制台上啟動一個交互式幫助實用程序。
dir() 函數用於返回調用它的對象的屬性和方法的有效列表。 由於該函數旨在生成最相關的數據(而不是顯示完整信息),因此它對不同對象的行為不同:
- 對於模塊/庫對象,dir() 函數返回包含在該模塊中的所有屬性的列表。
- 對於類對象,dir() 函數返回所有有效屬性和基本屬性的列表。
- 當沒有參數傳遞給它時, dir() 函數返回當前範圍內的屬性列表。
Q 24) 什麼是 python 模塊? 列舉一些 Python 中常用的內置模塊?
A 24) Python 模塊是包含 Python 代碼的文件,可以是函數類或變量。 這些模塊是具有 .py 擴展名的 Python 文件。 模塊可以包括一組定義和實現的函數、類或變量。 您可以使用 import 語句導入和初始化模塊,學習 python 教程將使我們了解更多關於 python 模塊的知識。
以下是 Python 中一些常用的內置模塊:
- 操作系統
- 系統
- 數學
- 隨機的
- 數據時間
- JSON
Q 25) 在 Python 中解釋“自我”。
A 25) 在 Python 中,“self”是用於定義類的實例或對象的關鍵字。 與 Java 中 self 是最優的不同,在 Python 中,它主要用作第一個參數。 Self 有助於將類的方法和屬性與其局部變量區分開來。
__init__ 方法中的 self 變量指的是新創建的對像或實例,而在其他方法中,它屬於調用其方法的對像或實例。
問 26) 什麼是 PEP 8?
A 26) PEP 或 Python 增強提案是一組規則,用於指定如何格式化 Python 代碼以獲得最大的可讀性。 它是一個官方設計文檔,向 Python 社區提供相關信息,例如描述新的 Python 特性或 Python 進程。 PEP 8 是一個重要的文檔,其中包含 Python 代碼的樣式指南。 任何希望為 Python 開源社區做出貢獻的人都必須嚴格遵守這些風格指南。
Q 27) Python 中是否必須使用縮進?
A 27) 是的,Python 需要縮進。 縮進有助於指定代碼塊。 因此,在 Python 代碼中,循環、類、函數等中的所有內容都在縮進塊中指定。 如果你的 Python 代碼沒有正確縮進,在執行過程中就會出現問題,並且會引發錯誤。
Q 28) 解釋 Python 數組和列表之間的區別。
A 29) 最常見的 Python 面試問題之一。 在 Python 中,數組和列表都用於存儲數據。 然而,
- 數組只能包含相同數據類型的元素,這意味著數組的數據類型應該是同質的。
- 列表可以包含不同數據類型的元素,這意味著列表的數據類型可以是異構的。 列表比數組消耗更多的內存。
這是一個例子:
將數組導入為 arr
My_Array=arr.array('i',[1,2,3,4])
My_list=[1,'abc',1.20]
打印(我的數組)
打印(我的列表)
問 29) 什麼是 __init__?
A 29) 在 Python 中,__init__ 是一個方法或構造函數。 當創建新對像或類的實例時,會自動調用它來分配內存。 所有類都有 __init__ 方法。
以下是如何在 Python 中使用 __init__ 方法:
# 類定義
班級學生:
def __init__(self, fname, lname, age, section):
self.firstname = fname
self.lastname = lname
自我年齡 = 年齡
self.section = 部分
# 創建一個新對象
stu1 = 學生(“Sara”、“Ansh”、22、“A2”)
Q 30) 解釋“break”、“continue”和“pass”的功能。
A 30)它是python面試問答指南中的常見問題之一。 讓我們詳細了解一下 break、continue 和 pass。
break 語句用於在滿足特定條件時終止循環,並將控制權轉移到後面的語句。
- continue 語句有助於在滿足特定條件時終止語句的當前迭代,跳過當前迭代中的其餘代碼,並將控制權傳遞給循環的下一次迭代。
- pass 語句本質上是一個空操作,用於填充可能在運行時執行但尚未編寫的空代碼塊。 它由分號表示。
Q 31) 如何在 Python 中編寫註釋?
A 31) 在 Python 中,註釋以 # 字符開頭。 但是,有時,您也可以使用文檔字符串(包含在三引號內的字符串)來編寫註釋。 與 C++ 不同,Python 不支持多行註釋。
以下是用 Python 編寫註釋的方式:
>>> #line 1 評論
>>> #line 2 評論
Q 32) Python 中的生成器是什麼?
A 32) 生成器是最重要的 Python 函數,它以有組織的方式一次返回一個可迭代的項目集合。 通常,生成器用於創建具有不同方法的迭代器——它們使用 yield 關鍵字而不是 return 來返回生成器對象。
Q 33) 如何在 Python 中將字符串的首字母大寫?
A 33) 在 Python 中,您可以使用 capitalize() 方法將字符串的第一個字母大寫。 但是,如果一個字符串的開頭已經包含一個大寫字母,它將返回原始字符串。
Q 34) Python 中的“文檔字符串”是什麼?
A 34) Docstrings 或文檔字符串是用於記錄特定代碼段的多行字符串。 文檔字符串通常用三引號括起來,理想情況下應該描述函數或方法的作用。 儘管它們不是註釋,但文檔字符串有時會起到註釋的作用,因為它們沒有分配給任何變量。
Q 35) 解釋“is”、“not”和“in”運算符的功能?
A 35) 同樣,流行的 Python 面試問題之一。 運算符是 Python 中的特殊函數,可以採用一個或多個值來產生相應的結果。
- 當兩個操作數為真時,“is”運算符返回真。
- “not”運算符返回布爾值的倒數。
- “in”運算符檢查某個元素是否存在於某個序列中。
Q 36) 如何在 Python 中復制對象?
A 36) 在 Python 中,賦值語句(= 運算符)不復制對象,而是在現有對象和目標變量名之間創建綁定。 因此,如果您希望在 Python 中創建對象的副本,則需要使用 copy 模塊。 有兩種方法可以使用 copy 模塊為特定對象創建副本:
- 淺拷貝——它是對象的按位拷貝。 複製的對象將具有原始對像中包含的值的精確副本。 如果任何值是對其他對象的引用,則只會復制相同的引用地址。
- 深拷貝——它遞歸地將所有值從源對象複製到目標對象,這意味著,它甚至會復制源對象引用的對象。
Q 37) 什麼是表達式?
A37) 表達式 可以定義為變量、值運算符的組合以及對函數的調用。 它是一系列操作數或運算符,例如 a + B – 5 稱為表達式。 Python 支持許多這樣的運算符,用於將數據對象組合成一個 express。
Q 38) Python 中的語句是什麼?
A38)當你在命令行中鍵入語句時,Python 可以解釋和執行的指令 Python 執行,如果有則顯示結果。
Q 39) Python 中的 == 是什麼?
A39)它是一個運算符,用於檢查或比較兩個對象的值
Q 40) Python 中的轉義序列是什麼?
A40) Python 字符串,反斜杠“\”可以是特殊字符,也稱為“轉義”字符。 它是 用於表示某些空白字符:“\t”可能是製表符,“\n”可能是換行符,“\r”可能是 印刷操作。 相反,在特殊字符前加上“\”會將其變成標準字符。
Q 41)什麼是封裝?
A41) 封裝是數據和操作數據的函數的綁定。
這是一個將數據和變量包裝在一起的過程。
例子
類玩家角色():
def __init__(self,name,age):
self.name = 名稱
自我年齡 = 年齡
player1 = playercharacter('leo',25)
打印(player1.name)
打印(player1.age)
Q42) 如何在 Python 中進行數據抽象?
A42) 抽象意味著隱藏信息或僅顯示必要的信息。
例子
打印(len((1,2,3,1)))
#在這個例子中,我們不想學習 len 是如何在 python 中引入的
Q43) 什麼是 pthon 中的字典?
A43) 字典是python中的一種數據結構,也是一種數據類型,用大括號{}括起來。
字典包含 2 個元素 - 鍵和值
key 是我們用來獲取值的字符串。
例子
字典 = {
“一”:1,
“乙”:2
}
打印(字典['b'])
Q44) 什麼是功能?
A44) 函數是當我們想要運行相同的方法超過 1 次時使用的一組代碼。它減少了程序的長度。函數被定義為 2 類 -
1)功能定義
2)函數調用
例子
定義狗():
print(“我叫湯米”)
狗();
結論
我們希望我們的Python 面試問答指南對您有所幫助。 我們將定期更新指南,讓您隨時了解最新情況。
上面的問題列表,結合你自己在 PC 上的練習,將幫助你破解任何 Python 面試。 除了基礎知識之外,唯一剩下的就是練習,這樣當面試官問你問題時,你的大腦已經在用它編寫和執行代碼了。
如果您想了解有關數據科學的更多信息,請查看 IIIT-B 和 upGrad 的數據科學執行 PG 計劃,該計劃專為在職專業人士創建,提供 10 多個案例研究和項目、實用的實踐研討會、行業專家指導、與行業導師一對一,400 多個小時的學習和頂級公司的工作協助。
在進行 Python 面試之前,您需要牢記以下幾點: 以下提示是為準備第一次面試的新生準備的,以幫助您破解任何面試。 以下是一些可以直接影響 Python 面試難度的點:我應該如何準備 Python 面試?
1. 你必須在理論上清楚基本和高級的 Python 概念,尤其是 Python 中的數據結構和算法。
2. 可能會要求您編寫代碼,因此您必須知道正確的 Python 語法。
3. 練習最常被問到的 Python 面試題,熟練掌握可能被問到的著名編碼問題。
4. 大多數面試官都要求你提供你做過的實時項目,所以在去面試之前把你的項目讀出來。
5. 最後但並非最不重要的一點是,你應該對自己有信心,因為面試官首先註意到的是你有多自信。 對於準備第一次 Python 面試的新生有什麼建議?
製作一份好的簡歷並讓專業人士對其進行審核,或者您也可以訪問網站以獲得對您的簡歷的專家意見。
在您的作品集中展示至少 2 個不錯的現場項目。 你應該很好地掌握你的項目
在參加實際面試之前,嘗試在線進行模擬面試以增強您的信心並糾正您的錯誤。
在大聲解釋的同時練習編碼問題。 這將提高你的口語能力。 Python面試的難度是多少?
職位:任何面試的難度很大程度上取決於你申請的職位。 例如,SDE3 職位的面試會比 SDE1 更難。
公司:需求和要求可能因公司而異。 一些公司希望他們的工程師能完成更複雜的工作,因此他們將分別進行艱難的面試。
經驗等級:如果工作申請要求的經驗等級為 0-2 年,那麼同一職位的面試難度對於 2 名分別具有 0 年和 2 年經驗的候選人來說可能會有所不同。