Python 基礎 第一類物件 閉包 迭代器

2022-05-19 17:17:30 字數 997 閱讀 1156

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

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

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

可以作為返回值返回

可以作為引數進行傳遞

閉包 -> 函式的巢狀

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

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

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

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

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

迭代器

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

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

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

_iter__可迭代的

__iter__   __next__迭代器

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

from collections import iterable, iterator

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

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

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

2. 惰性機制

3. 只能向前. 不能後退

模擬for迴圈 

lst= 

# 拿迭代器

it = lst.__iter__()

while 1:

try:

it.__next__()

except stopiteration:

break

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