11 閉包 迭代器

2022-09-01 02:51:10 字數 906 閱讀 5870

今日主要內容

第一類物件-> 函式名 -> 變數名

函式物件物件可以像變數一樣進行賦值

還可以作為列表的元素進行使用

可以作為返回值返回

可以作為引數進行傳遞

閉包 -> 函式的巢狀

內層函式對外層函式中的變數的使用

好處:1. 保護變數不被侵害

2. 讓乙個變數常駐記憶體

如何通過**檢視乙個閉包

__closure__: 有東西就是閉包. 沒東西就不是閉包

迭代器 -> 固定的思路. for迴圈

乙個資料型別中包含了__iter__函式表示這個資料是可迭代的

dir(資料): 返回這個資料可以執行的所有操作

判斷迭代器和可迭代物件的方案(野路子)

__iter__ 可迭代的

__iter__ __next__ 迭代器

判斷迭代器和可迭代物件的方案(官方)

from collections import iterable, iterator

isinstance(物件, iterable) 是否是可迭代的

isinstance(物件, iterator) 是否是迭代器

模擬for迴圈

lst=

# 拿迭代器

it = lst.__iter__()

while 1:

try:

it.__next__()

except stopiteration:

break

特徵:1. 省記憶體(生成器)

2. 惰性機制

3. 只能向前. 不能後退

作用:統一了各種資料型別的遍歷

1.第一類物件

2.閉包

3.迭代

day 11 迭代器 閉包

1.第一類物件,函式名的使用,函式名就是變數名,函式名儲存的是函式的記憶體位址 溫習前面學過的變數 1 由數字,字母,下劃線組成 2 不能是數字開頭,更不能是純數字 3 不能用關鍵字 4 不要太長 5 要有意義 6 不要用中文 7 區分大小寫 8 駝峰線或者下劃線 2.閉包 在內層函式中引入外層函式...

Lua筆記11 迭代器和閉包

迭代器是一種支援指標型別的結構,它可以遍歷集合的每乙個元素。在lua中我們常常使用函式來描述迭代器,每次呼叫該函式就返回集合的下乙個元素。迭代器需要保留上一次成功呼叫的狀態和下一次成功呼叫的狀態,也就是他知道來自於 和將要前往 閉包提供的機制可以很容易實現這個任務。記住 閉包是乙個內部函式,它可以訪...

閉包與迭代器

1.python內建函式 def compare args return max args min args a,b compare 1,2,3,4,5,6 print max min format a,b 2.若定義的函式引數為可變型別的變數,若果呼叫改變了此變數,其他可以看到此位置的變數也跟隨改...