〖 語法和陳述句 〗
賦值陳述句的形式
序列賦值 序列解包
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內建函式等都使用了迭代協議
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陳述句: 手動刪除某個變數
獲取串列子串列的方法
小手動迭代:iter和next
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
宣告:文章著作權歸作者所有,如有侵權,請聯絡小編刪除