放假歸來,這幾天複習了一下好久不用的python,總結了一下知識點。
語法基礎tuple與list的異同都由多個元素組成
tuple由()組成,list由組成
tuple不可變,list可變
tuple表示的是一種結構,而list表示的是多個事物的集合
tuple操作比list快
字串用法要點
轉義符和其他語言類似
在字串前加r表示raw字串: print(r'c:somename')
使用』』』或者」」」表示換行:print("""
usage: thingy [options]
-h display this usage message
-h hostname hostname to connect to
if/elif/else巢狀
通過縮排表示,標準建議使用4空格而非tab
while/else和for/else的用法
else塊會在迴圈按順序執行完的情況下執行,即沒有出發for/while裡的break
value if cond else other的三段式表示
list comprehension
常用操作符的運算優先順序
函式1、函式定義、引數傳遞、呼叫方式及返回值規則。沒有顯式返回值時的情況,返回的是none
list型及dict型的變長引數傳遞
加*表示展開list,加**表示展開dict
引數預設值定義規則
設定了預設值的引數後不能跟未設定預設值的引數
2、理解巢狀函式及閉包的用法。閉包:在非全域性(global)作用域中定義inner函式(即巢狀函式)時,會記錄下它的巢狀函式namespaces(巢狀函式作用域的locals),可以稱作:定義時狀態,可以通過func_closure 這個屬性來獲得inner函式的外層巢狀函式的namespaces。
3、理解變數的作用域及生命週期(globals, locals)。
就作用域而言,python與c有著很大的區別,在python中並不是所有的語句塊中都會產生作用域。只有當變數在module(模組)、class(類)、def(函式)中定義的時候,才會有作用域的概念。if condition並不會產生作用域。如下**可以輸出正確結果:if true:
variable = 100
print (variable)
print (variable)
作用域級別: local > enclosing > global > built-in
乙個non-l的變數相對於l而言,預設是唯讀而不能修改的。如果希望在l中修改定義在non-l的變數,為其繫結乙個新的值,python會認為是在當前的l中引入乙個新的變數(即便內外兩個變數重名,但卻有著不同的意義)。即在當前的l中,如果直接使用non-l中的變數,那麼這個變數是唯讀的,不能被修改,否則會在l中引入乙個同名的新變數。這是對上述幾個例子的另一種方式的理解。
注意:而且在l中對新變數的修改不會影響到non-l的。當你希望在l中修改non-l中的變數時,可以使用global、nonlocal關鍵字。
4、yield語句及generator的使用。
5、熟悉python官方的內建函式,如enumerate/eval/hasattr等
物件導向程式設計
1、類的定義及類的基本協議,如init/str等。
2、類的繼承、多繼承及super的用法,特別是多繼承下super呼叫可能引起的特殊情況。
3、理解屬性(property)的應用場合及本質
4、理解類命名空間及其訪問規則。
5、理解類的動態性。
6、理解方法和函式的異同
7、類的靜態方法、類方法及其與一般方法、函式的異同
8、理解命名空間及物件空間,及此模型與c/c++的模型差異。
9、迴圈引用產生,解環及無法解環時python的處理方式。
模組1、理解模組的本質是什麼。
2、分清內建模組、標準模組及擴充套件模組的區別。
3、理解python模組的載入機制。
4、熟悉python官方提供的常用模組,如copy/types/os/random/re/gc等
異常1、理解異常的使用方法及適用範圍。
2、異常的棧展開原理
3、常見的異常類
other links
Python爬蟲知識點一
一。入門知識 1.1.http簡介 uri和url的區別 uri強調的是資源,而url強調的是資源的位置。1.2常用請求型別 options 返回伺服器針對特定資源所支援的http請求方法。head 向伺服器索要與get請求相一致的響應,只不過響應體將不會被返回。get 向特定資源發出請求 post...
Python遺漏知識點一
print name user name,年齡 user age,sep end f open poem.txt w 開啟檔案以便寫入 print 滄海月明珠有淚 file f print 藍田日暖玉生煙 file f f.close 檢視關鍵字 import keywords print keyw...
python一些知識點
程式設計中遇到的一些python小知識點總結 1.python中的itertools可以實現排列組合 2.陣列的交集並集差集 輸入的是str,如果要得到int 型別,需要轉換 3,有時候老是會print 之後,出現at 0x000000000257e828 情況,而不是我想要的資料 比如陣列 b i...