第一類物件 --> 函式名 --> 變數名
函式物件可以像變數一樣進行賦值
還可以作為列表的元素進行使用
可以作為返回值返回
可以作為引數進行傳遞
閉包-->函式的巢狀
內層函式對外層函式中的變數的使用
好處: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. 只能向前. 不能後退
作用:統一了各種資料型別的遍歷
Python 函式是第一類物件
在很多資料中,經常會看到這樣一句話 python 中的函式是第一類物件 這裡所說的第一類物件,其實是指函式作為乙個物件,與其他物件具有相同的地位。關於這一點,guido 曾提過 first class everything 他對 python 的乙個發展目標就是所有的物件都是第一類物件。也就是說,所...
Python 函式的第一類物件 使用
函式的第一類物件及使用 第一類物件 特殊點 可以當做值被賦值給變數 def func print 1 print func a func a 2.可以當做元素存放在容器中 def func print 1 lst func,func,func for i in lst i 3.函式名可以當做函式的引...
函式 名的使用和第一類物件,閉包,迭代器
1,函式名的運用 def func print 呵呵 print func a 10 print id a 1402039600 def func print 哈哈 a func 把函式名賦值給變數a a a現在是乙個函式名,當加 表示執行函式 函式名可以存放到容器中 deffunc1 print ...