第一類物件 函式名 變數名

2022-08-18 11:06:08 字數 876 閱讀 6950

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

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

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

可以作為返回值返回

可以作為引數進行傳遞

閉包-->函式的巢狀

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

好處: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 ...