python必會知識點總結
1.什麼是列表的深拷貝,淺拷貝?
淺拷貝:
只拷貝一級容器中的所有元素獨立出一個單獨的空間.
深拷貝:
把所有層級的容器中所有元素都單獨拷貝一份,形成獨立的空間
用法示例:請看
2.什麼是LEGB?
LEGB原則(就近找變數原則) #找尋變數的呼叫順序採用LEGB原則(即就近原則) B —— Builtin(Python);Python內建模組的名稱空間 (內建作用域) G —— Global(module); 函式外部所在的名稱空間 (全域性作用域) E —— Enclosing function locals;外部巢狀函式的作用域(巢狀作用域) L —— Local(function);當前函式內的作用域 (區域性作用域) 依據就近原則,從下往上 從裡向外 依次尋找
3.什麼是閉包函式?有什麼特點和意義?
相互巢狀的兩個函式,如果內函式使用了外函式的區域性變數 並且外函式把內函式返回出來的過程,叫做閉包 裡面的內函式叫做閉包函式 是不是閉包? 1.內函式用了外函式的那個區域性變數 2.外函式返回內函式
特點:在閉包函式中,內函式使用了外函式的區域性變數
該變數會與內函式發生繫結,延長該變數的生命週期
持續到指令碼執行結束
# 閉包的意義
'''
全域性變數的作用域大,容易被篡改
閉包可以優先使用外函式中的變數,並對閉包中的值起到封裝保護的作用
'''
示例請看:
4.什麼是匿名函式?
概念: 用一句話來表達只有返回值的函式
語法: lambda 引數 : 返回值
特點: 簡潔,高效
示例請看:
5.什麼是迭代器?
迭代器:
能被next()函式呼叫並不斷返回下一個值的物件稱為迭代器(Iterator 迭代器是物件)
概念:
迭代器指的是迭代取值的工具,迭代是一個重複的過程,每次重複都是基於上一次的結果而繼續的,
單純的重複並不是迭代
特徵:
並不依賴索引,而通過next指標(記憶體地址定址)迭代所有資料,一次只取一個值,
而不是一股腦的把所有資料放進記憶體.大大節省空間,
6.什麼是高階函式?
高階函式 : 能夠把函式當成引數傳遞的就是高階函式 (map ,filter ,reduce , sorted)
.示例請看
7.什麼是推導式?
通過一行迴圈判斷遍歷出一系列資料的方法叫做推導式 語法: val for val in iterable
8.什麼是生成器?生成器函式?
#生成器本質是迭代器,允許自定義邏輯的迭代器 #迭代器和生成器區別: 迭代器本身是系統內建的.重寫不了. 而生成器是使用者自定義的,可以重寫迭代邏輯 #生成器可以用兩種方式建立: (1)生成器表示式 (裡面是推導式,外面用圓括號) (2)生成器函式 (用def定義,裡面含有yield)
# yield 類似於 return
共同點在於:執行到這句話都會把值返回出去
不同點在於:yield每次返回時,會記住上次離開時執行的位置 , 下次在呼叫生成器 , 會從上次執行的位置往下走
而return直接終止函式,每次重頭呼叫.
yield 6 和 yield(6) 2種寫法都可以 yield 6 更像 return 6 的寫法 推薦使用
9.什麼是裝飾器?
# ### 裝飾器 : 在不改變原有程式碼的前提下,為原函式擴充套件新功能 """ @符號 裝飾器的識別符號 : (1) 自動把下面修飾的原函式當成引數傳遞給裝飾器 (2) 把返回的新函式去替換原函式
10.什麼是程序,執行緒,協程?
11. 簡述面向物件的三大特徵,,如何理解類和物件
12.寫出5個魔術方法. 並指出每個方法的觸發時機作用
13.簡述super和self的作用
14.單態,多型例子
15.類中方法有哪些?
16.簡述反射的作用並列舉反射相關的方法
17.如何自定義異常
18.列舉常用模組,簡述作用
19.yield和return有什麼區別?
20.寫一個可修飾帶有引數返回值的函式裝飾器
21.簡述: isinstance, issubclass的作用
22.列舉與類相關的魔術屬性
23.計算類中的所有自定義成員個數
24.用生成器寫一個斐波那契數列,得到前10項的數
25.兩個有序列表,合併後去重且保持有序
26.什麼是b/s , c/s架構
27.交換機,路由器特點
29.簡述osi網路七層模型
30.簡述三次握手,四次揮手
31.Tcp/udp兩大協議區別
32.如何判斷兩個主機網段一致?
33.什麼是生產者消費者模型
34.多執行緒場景中如何保證資料安全
35. 什麼情況下死鎖,如何解決?