🌊 作者主頁:海擁
🌊 作者簡介:🏆CSDN全堆疊領域優質創作者、🥇HDZ核心組成員、🥈蟬聯C站周榜前十
🌊 粉絲福利:粉絲群 每周送四本書,每月送各種小禮品(搪瓷杯、抱枕、滑鼠墊、馬克杯等)
直接跳到末尾 去評論區領書
100 個基本的 Python 面試問題第一部分(1-20)
Q-1:什么是 Python,使用它有什么好處,你對 PEP 8 有什么理解?
Q-2:以下 Python 代碼片段的輸出是什么?證明你的答案,
Q-3:如果程式不需要動作但在語法上需要它,可以在 Python 中使用的陳述句是什么?
Q-4:在 Python 中使用“~”獲取主目錄的程序是什么?
Q-5:Python 中可用的內置型別有哪些?
Q-6:如何在 Python 應用程式中查找錯誤或執行靜態分析?
Q-7:什么時候使用 Python 裝飾器?
Q-8:串列和元組的主要區別是什么?
Q-9:Python 如何處理記憶體管理?
Q-10:lambda 和 def 之間的主要區別是什么?
Q-11:使用 python reg 運算式模塊“re”撰寫一個 reg 運算式來驗證電子郵件 ID?
Q-12:你認為以下代碼片段的輸出是什么?代碼中有錯誤嗎?
Q-13:Python 中有 switch 或 case 陳述句嗎?如果不是,那么相同的原因是什么?
Q-14:Python 用來迭代數字序列的內置函式是什么?
Q-15:Python 的 try-except 塊中可能有哪些可選陳述句?
Q-16:Python 中的字串是什么?
Q-17:Python 中的切片是什么?
Q-18:Python 中的 %s 是什么?
Q-19:字串在 Python 中是不可變的還是可變的?
Q-20:Python 中的索引是什么?
讓我們開始回答基礎級別的 Python 面試問題,
Q-1:什么是 Python,使用它有什么好處,你對 PEP 8 有什么理解?
什么是 Python
Python 是最成功的解釋型語言之一,當你撰寫 Python 腳本時,它不需要在執行前進行編譯,很少有其他解釋性語言是 PHP 和 Javascript,
Python 編程的好處
- Python 是一種動態型別語言,這意味著你無需在宣告時提及變數的資料型別,它允許設定變數,如 var1=101 和 var2 =“你是一名工程師” 沒有任何錯誤,
- Python 支持面向物件編程,因為你可以定義類以及組合和繼承,它不使用公共或私有等訪問說明符),
- Python 中的函式就像一等物件,它建議你可以將它們分配給變數,從其他方法回傳并作為引數傳遞,
- 使用 Python 開發很快,但運行它通常比編譯語言慢,幸運的是,Python 能夠包含“C”語言擴展,因此你可以優化腳本,
- Python 有多種用途,如基于 Web 的應用程式、測驗自動化、資料建模、大資料分析等等,或者,你可以將其用作“glue”層來處理其他語言,
PEP 8
PEP 8 是最新的 Python 編碼標準,一組編碼建議,它指導提供更具可讀性的 Python 代碼,
回到目錄
Q-2:以下 Python 代碼片段的輸出是什么?證明你的答案,
def extendList(val, list=[]):
list.append(val)
return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print "list1 = %s" % list1
print "list2 = %s" % list2
print "list3 = %s" % list3
上述 Python 代碼片段的結果是:
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']
你可能錯誤地認為 list1 等于 [10] 并且 list3 與 [‘a’] 匹配,認為每次呼叫 extendList 時,list 引數都會初始化為其默認值 [],
但是,流程就像在定義函式后創建一個新串列一樣,每當有人在沒有串列引數的情況下呼叫 extendList 方法時,都會使用相同的方法,它是這樣作業的,因為運算式的計算(在默認引數中)發生在函式定義時,而不是在呼叫期間,
因此, list1 和 list3 在同一個默認串列上運行,而 list2 在它自己創建的單獨物件上運行(通過傳遞一個空串列作為 list 引數的值),
可以通過以下方式更改 extendList 函式的定義,
def extendList(val, list=None):
if list is None:
list = []
list.append(val)
return list
有了這個修訂后的實施,輸出將是:
list1 = [10]
list2 = [123]
list3 = ['a']
回到目錄
Q-3:若程式不需要動作但語法需要,則可在 Python 中使用的陳述句是什么?
pass 陳述句是一個空操作,執行時什么也沒有發生,你應該使用小寫的“pass”關鍵字,如果你寫“Pass”,你會遇到類似“NameError: name Pass is not defined”這樣的錯誤,Python 陳述句區分大小寫,
letter = "hai sethuraman"
for i in letter:
if i == "a":
pass
print("pass statement is execute ..............")
else:
print(i)
回到目錄
Q-4:在 Python 中使用“~”獲取主目錄的程序是什么?
你需要匯入 os 模塊,然后只需一行即可完成其余作業,
import os
print (os.path.expanduser('~'))
輸出:
/home/runner
回到目錄
Q-5:Python 中可用的內置型別有哪些?
以下是 Python 支持的最常用的內置型別串列:
| Python 的不可變內置資料型別 | Python 的可變內置資料型別 |
|---|---|
| 數字 | 串列 |
| 字串 | 字典 |
| 元組 | 集合 |
回到目錄
Q-6:如何在 Python 應用程式中查找錯誤或執行靜態分析?
- 你可以使用 PyChecker,它是一個靜態分析器,它識別 Python 專案中的錯誤,并揭示與樣式和復雜性相關的錯誤,
- 另一個工具是 Pylint,它檢查 Python 模塊是否滿足編碼標準,
回到目錄
Q-7:什么時候使用 Python 裝飾器?
Python 裝飾器是在 Python 語法中進行的相對更改,用于快速調整功能,
回到目錄
Q-8:串列和元組的主要區別是什么?
串列和元組之間的主要區別在于前者是可變的,而元組則不是,
元組可以被散列,例如,使用它作為字典的鍵,
回到目錄
Q-9:Python 如何處理記憶體管理?
- Python 使用私有堆來維護其記憶體,因此堆包含所有 Python 物件和資料結構,這個區域只有 Python 解釋器可以訪問;程式員不能用,
- 它是處理私有堆的 Python 記憶體管理器,它為 Python 物件執行所需的記憶體分配,
- Python 使用內置垃圾收集器,它可以回收所有未使用的記憶體并將其卸載到堆空間,
回到目錄
Q-10:lambda 和 def 之間的主要區別是什么?
- Def 可以容納多個運算式,而 lambda 是一個單運算式函式,
- Def 生成一個函式并指定一個名稱以便稍后呼叫它,Lambda 形成一個函式物件并回傳它,
- def 可以有一個 return 陳述句,Lambda 不能有 return 陳述句,
- Lambda 支持在串列和字典中使用,
回到目錄
Q-11:用 python reg運算式模塊"re"撰寫一個reg 運算式來驗證電子郵件 ID
Python 有一個正則運算式模塊“re”,
查看可以檢查 .com 和 .co.in 子域的電子郵件 ID的“re”運算式,
import re
print(re.search(r"[0-9a-zA-Z.]+@[a-zA-Z]+\.(com|co\.in)$","micheal.pages@mp. com"))
回到目錄
Q-12:你認為以下代碼片段的輸出是什么?代碼中有錯誤嗎?
list = ['a', 'b', 'c', 'd', 'e']
print (list[10:])
以上代碼行的結果是[],不會有任何類似 IndexError 的錯誤,
你應該知道嘗試使用超過成員計數的索引從串列中獲取成員(例如,嘗試訪問問題中給出的 list[10])會產生 IndexError,順便說一下,僅檢索超過 no 的起始索引處的切片,串列中的專案不會導致 IndexError,它只會回傳一個空串列,
回到目錄
Q-13:Python 中有 switch 或 case 陳述句嗎?如果不是,那么相同的原因是什么?
沒有,Python 中沒有 Switch 陳述句,但是你可以撰寫一個 Switch 函式然后使用它,
回到目錄
Q-14:Python 用來迭代數字序列的內置函式是什么?
Range() 生成一個數字串列,用于迭代 for 回圈,
for i in range(5):
print(i)
range() 函式帶有兩組引數,
范圍(停止)
- 停止:它是沒有,要生成并從零開始的整數,例如,范圍(3) == [0, 1, 2],
范圍([開始],停止[,步驟]) - 開始:這是起始編號,的序列,
- 停止:它指定序列的上限,
- Step:生成序列的增量因子,
注意事項: - 只允許整數引數,
- 引數可以是正數或負數,
- Python 中的range()函式從第零個索引開始,
回到目錄
Q-15:Python 的 try-except 塊中可能有哪些可選陳述句?
你可以在try-except 塊中使用兩個可選子句,
“ else” 子句
- 如果你想在 try 塊未創建例外時運行一段代碼,這將很有用,
“finally” 子句 - 當你想執行一些運行的步驟時,不管是否發生例外它都有用,
回到目錄
Q-16:Python 中的字串是什么?
Python 中的字串是一系列字母數字字符,它們是不可變的物件,這意味著它們一旦被賦值就不允許修改,Python 提供了多種方法,例如 join()、replace() 或 split() 來更改字串,但是這些都沒有改變原始物件,
回到目錄
Q-17:Python 中的切片是什么?
切片是一種字串操作,用于提取字串的一部分,或串列的某些部分,在 Python 中,一個字串(比如文本)從索引 0 開始,第 n 個字符存盤在位置 text[n-1],Python 還可以在負數的幫助下執行反向索引,即反向索引,在 Python 中, slice() 也是一個生成切片物件的建構式,結果是 range(start, stop, step) 提到的一組索引,slice() 方法允許三個引數,1. start – 切片開始的起始編號,2. stop – 表示切片結束的數字,3. step – 在每個索引后遞增的值(默認值 = 1),
回到目錄
Q-18:Python 中的 %s 是什么?
Python 支持將任何值格式化為字串,它可能包含相當復雜的運算式,
一種常見的用法是將值推送到帶有 %s 格式說明符的字串中,Python 中的格式化操作與 C 函式 printf() 具有類似的語法,
回到目錄
Q-19:字串在 Python 中是不可變的還是可變的?
Python 字串確實是不可變的,
讓我們舉個例子,我們有一個保存字串值的“str”變數,我們不能改變容器,即字串,但可以修改它包含的內容,即變數的值,
回到目錄
Q-20:Python 中的索引是什么?
索引是一種整數資料型別,表示有序串列或字串中的位置,
在 Python 中,字串也是字串列,我們可以使用從零開始到長度減一的索引來訪問它們,
例如,在字串“Program”中,索引是這樣發生的:
Program 0 1 2 3 4 5
回到目錄
🥇 評論區抽粉絲送書啦
💌 歡迎大家在評論區提出意見和建議!(抽兩位幸運兒送書,實物圖如下)💌

《Python最優化演算法實戰》
【內容簡介】
《Python 入門到人工智能實戰》本書以理論結合編程開發為原則,使用Python作為開發語言,講解優化演算法的原理和應用,詳細介紹了Python基礎、Gurobi 優化器、線性規劃、整數規劃、多目標優化、動態規劃、圖與網路分析、智能優化演算法,對于演算法部分的每一種演算法都包含原理和編程實踐,使讀者對優化演算法的認識更加深入,
本書分為 3 篇共 9 章,第 1 篇(第 1~3 章)是優化演算法與編程基礎:第 1 章介紹了什么是*化演算法及其在生產和生活中的應用;第 2章介紹Python編程基礎和Python資料分析庫及繪圖庫;第 3章講解Gurobi 優化器的基礎和高級特性,第 2篇(第 4~6章)是數學規劃方法:第 4章詳細講解線性規劃的知識,包括單純形法、內點法、列生成法、拉格朗日乘子法、對偶問題;第 5 章講解整數規劃解法的分支定界法和割平面法;第 6 章講解多目標優化的概念及基于單純形法的目標規劃法,第 3 篇(第 7~9 章)是啟發式演算法:第 7 章介紹動態規劃演算法;第 8 章講解圖與網路分析,介紹最小生成樹、最短路徑、網路流、路徑規劃等問題的建模;第 9 章講解了粒子群演算法和遺傳演算法求解各種型別優化演算法問題的方法,
也有不想靠抽,想自己買的同學可以參考下面的鏈接
京東自營購買鏈接:
《Python最優化演算法實戰》(蘇振裕) - 京東圖書
當當自營購買鏈接:
《Python最優化演算法實戰》(蘇振裕) - 當當圖書
📣 注意:
大家點贊關注,三天后也就是 10月6日 從評論區留言的同學中抽取兩位送書
🌊 行業資料:精品PPT模板幾千套,簡歷模板一千多套
🌊 面試題庫:Java核心知識點大全和面試真題資料
🌊 學習資料:2300套PHP建站原始碼,微信小程式入門資料,Python全集(400集)
如果中獎了聯系不上則視為放棄,可以從下方公眾號里找到作者的聯系方式,每周都會送四本書,后面送書力度還會加大,一年送幾百上千本不是問題,回復【進群】領書不迷路,群內 每位成員 我都會送一本,回復【資源】可獲取上面的資料👇🏻👇🏻👇🏻
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/305980.html
標籤:python
