今日主要內容第一類物件-> 函式名 -> 變數名
函式物件物件可以像變數一樣進行賦值
還可以作為列表的元素進行使用
可以作為返回值返回
可以作為引數進行傳遞
閉包 -> 函式的巢狀
內層函式對外層函式中的變數的使用
好處: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.若定義的函式引數為可變型別的變數,若果呼叫改變了此變數,其他可以看到此位置的變數也跟隨改...