列表生成式 閉包函式

2021-10-05 13:57:35 字數 924 閱讀 9732

匿名函式:

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...