歡迎光臨
每天分享高質量文章

史上最全Python知識點彙總【續】

〖 語法和陳述句 〗

賦值陳述句的形式

序列賦值 序列解包

print函式原型

if/else三元表達符

Python的while陳述句或者for陳述句可以帶else陳述句 當然也可以帶continue/break/pass陳述句

while a > 1:
   ……
else:
   ……
# else陳述句會在迴圈結束後執行,除非在迴圈中執行了break,同樣的還有for陳述句
for i in range(5):
   ……
else:
   ……


for迴圈的元組賦值

串列解析語法

生成器運算式

檔案字串:出現在Module的開端以及其中函式或類的開端 使用三重引號字串

“””
module document
“””
def func():
   “””
   function document
   “””
   print()
class Employee:
   “””
   class document
   “””
   print()
print(func.__doc__)         # 輸出函式檔案字串
print(Employee.__doc__)     # 輸出類的檔案字串

命名慣例

“””
以單一下劃線開頭的變數名(_X)不會被from module import*等陳述句匯入
前後有兩個下劃線的變數名(__X__)是系統定義的變數名,對直譯器有特殊意義
以兩個下劃線開頭但不以下劃線結尾的變數名(__X)是類的本地(私有)變數
“””

串列解析 in成員關係測試 map sorted zip enumerate內建函式等都使用了迭代協議

‘first line’ in open(‘test.txt’)   # in測試 傳回True或False
list(map(str.upper, open(‘t’)))    # map內建函式
sorted(iter([2, 5, 8, 3, 1]))      # sorted內建函式
list(zip([1, 2], [3, 4]))          # zip內建函式 [(1, 3), (2, 4)]

del陳述句: 手動刪除某個變數

del X

獲取串列子串列的方法

小手動迭代:iter和next

L = [1, 2]
I = iter(L)                        # I為L的迭代器
I.next()                           # 傳回1
I.next()                           # 傳回2
I.next()                           # Error:StopIteration

Python中的可迭代物件

“””
1.range迭代器
2.map、zip和filter迭代器
3.字典檢視迭代器:D.keys()), D.items()等
4.檔案型別
“””

函式語法規則

函式相關的陳述句和運算式

Python函式變數名解析:LEGB原則

“””
local(functin) –> encloseing function locals –> global(module) –> build-in(python)
說明:以下邊的函式maker為例 則相對於action而言 X為Local N為Encloseing
“””

巢狀函式舉例:工廠函式

巢狀函式舉例:lambda實體

nonlocal和global陳述句的區別

函式引數,不可變引數透過“值”傳遞,可變引數透過“取用”傳遞

可變引數匹配: * 和 **

函式呼叫時的引數解包: * 和 ** 分別解包元組和字典

函式屬性:(自己定義的)函式可以新增屬性

函式註解: 編寫在def頭部行 主要用於說明引數範圍、引數型別、傳回值型別等

匿名函式:lambda

lambda函式與map filter reduce函式的結合

生成器函式:yield VS return

生成器運算式:小括號進行串列解析

本地變數是靜態檢測的

函式的預設值是在函式定義的時候實體化的 而不是在呼叫的時候

 

12

作者:levy_cui

源自:http://blog.csdn.net/levy_cui/article/details/52841079

宣告:文章著作權歸作者所有,如有侵權,請聯絡小編刪除

贊(0)

分享創造快樂