匿名函式:
lambda 引數:表示式
global和nonlocal的區別:
global:宣告全域性變數,如果在區域性對全域性變數進行修改的話,就需要用到global進行宣告全域性變數。
nonlocal:在函式或者其他作用域中使用外層(非全域性)變數。
列表生成式:
1、簡單的列表生成式
例如:l=[x*x for x in range(1,10)]
2、帶有if判斷語句
例如:a=[x for x in range(100) if x%3==0 ]
3、帶有多個引數的
例如:a=[1,2,3,4,5,6]
b=["a","b","c","d","e","f"]
t=[str(x)+str(y) for x,y in zip(b,a)]
閉包條件:
1、外部函式定義了內部函式
2、外部函式有返回值,並且返回值是內部函式名
3、內部函式必須引用外部函式的變數
閉包格式:
形式一:
def 外部函式名():
n=外部函式變數賦值;
def 內部函式名():
.....
return 內部函式名
形式二:
def 外部函式名():
n=外部函式變數賦值;
def 內部函式名():
.....
return 內部函式名()
閉包作用:
1、global關鍵字的作用
2、函式區域性作用域
3、儲存函式的狀態資訊
4、可以理解為裝飾器的基礎
閉包,迭代器,生成器,列表推導式
1,函式名就是函式的記憶體位址。2,函式名可以作為變數。3,函式名可以作為函式的引數。4,函式名可以作為容器類型別的元素。5,函式名可以當做函式的返回值。2 globals locals globals 返回全域性變數的乙個字典。locals 返回 當前位置 的區域性變數的字典。1 name lei...
函式式程式設計 閉包
def curve pie a 25 defcurve x return a pow x,2 return curve f curve pie print f 2 輸出結果 ans 100 檢驗函式是否閉包 print f.closure 環境變數 a 25 print f.closure 0 ce...
函式依賴的閉包生成
如a,b,c d,e 輸入 abc de 直到end結束 再次輸入集合,輸出該集合的閉包。實現 查詢每次都是掃面前面的所有函式依賴,直到一次迴圈下來閉包不再更新。使用細節 二進位制列舉子集,for int i s i i i 1 s include include include define cl...