閉包函式
閉包的特點和意義
匿名函式 (lambda 表示式)
1.locals 獲取當前作用域中的所有內容
(1)locals 如果在函式外,呼叫locals(),獲取的是列印之前的所有變數,返回字典,全域性空間作用域
(2)locals 如果在函式內,呼叫locals(),獲取的是呼叫之前的所有變數,返回字典,區域性空間作用域
2.globals 獲取全域性作用域的所有內容
(1)globals 如果在函式外,呼叫globals(),獲取的是列印之前的所有變數,返回字典,全域性空間作用域
(2)globals 如果在函式內,呼叫globals(),獲取的是呼叫之前的所有變數,返回字典,全域性空間作用域
1.巢狀在函式的外邊叫做外函式
2.巢狀在函式的裡面叫做內函式
3.內部函式可以直接在函式外部呼叫麼 不可以!
4.呼叫外部函式後,內部函式可以在函式外部呼叫嗎 不可以!
5.內部函式可以在函式內部呼叫嗎 可以
6.內部函式在函式內部呼叫時,是否有先後順序 有(必須先定義在呼叫)
7.找尋變數的呼叫順序採用legb原則(即就近原則)
1.nonlocal 遵循 legb
(1)nonlocal 專門用來修改當前作用域上一級的區域性變數
(2)如果上一級找不到,那麼繼續向上尋找
(3)全都找不到,直接報錯.
1.什麼是閉包函式?
(1)內函式使用了外函式的區域性變數
外函式將內函式返回出來的過程,叫做閉包
裡面的內函式叫做閉包函式
2.用法示例
def wz_family():
father = "王健林"
def wzj_hobby():
print("先定乙個小目標,比如賺他乙個億,這是爸爸{}說的".format(father))
return wzj_hobby
# res = wzj_hobby <=> res() = wzj_hobby()
res = wz_family()
print(res)
res()
1. 閉包的特點是內函式使用了外函式的區域性變數,該區域性變數與內函式發生繫結,延長該變數的生命週期
2. 閉包的意義
(1)閉包可以優先使用外函式的區域性變數
(2)區域性變數在函式外部不能被直接使用
(3)對區域性變數實現了保護的作用,外部無法訪問;
1. 匿名函式特徵:用一句話來表達只有返回值的函式 , 特點: 簡潔 , 高效 ,方便
2. 匿名函式語法結構:
lambda 引數 : 返回值
3. 三目(元)運算子:
真值 if 條件表示式 else 假值
如果條件表示式成立,為真,返回真值'
如果條件表示式不成立,為假,返回假值
python第十一天
函式總結 def func a,b print a,b return a b 四個組成部分 函式名 呼叫函式的依據 函式體 執行函式邏輯的 引數列表 為函式提供內部資源 返回值 將函式執行結果返回給外界 返回值 1 空返回 沒有return或空return 2 一鍵返回 3 多值返回 裝有多個值的元...
Oracle課程檔案。第十一天
讀一致性 oracle通過多版本與閃回機制保證讀一致性。保證從某個時間點開始查詢是一致的。在oracle中主要通過scn版本號來控制系統修改的版本,典型的例子是我們可以通過在同乙個查詢中得到同乙個物件在 兩個時間點 上的結果 select from select count from emp sel...
Python 集合 第十一天
集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用set 而不是 因為 是用來建立乙個空字典。建立方式 parame 或者set value 給個例項 語法格式如下 s.add x 將元素 x 新增到集合 s 中,如果元素已存在,則不進行...