函式名的使用,閉包,迭代器

2022-09-10 22:00:31 字數 1304 閱讀 7653

函式名的使用:

1,函式名可以當做值賦值給變數

2,函式名可以當引數去傳遞,傳遞函式名的時候,如說+()就是傳遞這個函式的返回值

3,函式名可以當做返回值被返回,返回值不能加括號,接力要一層一層傳遞,中間斷了就傳不到

def foo():

print(2)

def func(msg):

print(1)

return

msg()

print(func(fool))

4,函式名可以當做乙個元素存放在容器中

5,檢視函式記憶體位址print(函式名)

def func():

pass

def func2(msg):

print(msg)

func(func())

for i in lst:    遍歷

i()        呼叫

閉包使用函式__closure__獲取的內容不是none就是閉包,巢狀函式並且內部函式使用外部變數(非全域性變數)就是閉包

好處:保護這個變數不被外界修改

生命週期延長

節省開闢空間和銷毀空間的時間差

應用場景: import requests

迭代器遵守迭代協議:

可以被for迴圈的就是可迭代物件__iter__可迭代

只有__iter__方法的就是可迭代物件

新建乙個迭代器,具有__iter__和__next__方法

迭代器不能回退,是惰性的,一次性

lst=[1,2,3,4,5

]l=lst.__next__() 建立乙個迭代器

print(l.__next__()) 執行 1

...2

...3

...4

...5

for 迴圈機制

lst=[1,2,3,4,5

]l=lst.__iter__()

while

true:

try: 異常捕獲

print(l.__next__())

except stopiteration

break

檢視是否是可迭代物件

from

collections import iterable,iterator

lst=[1,2,3,4

]li=lst.__iter__()

print(isinstance([

1,2,3,4],tterator))

python 函式名的使用,閉包,迭代器

函式名是乙個變數,但它是乙個特殊的變數,與括號配合可以執行函式 函式物件可以像變數一樣進行賦值,還可以作為列表的元素進行使用,可以作為返回值返回,可以作為引數進行傳遞 1.函式名的記憶體位址 def func print 呵呵 print func 結果 2.函式名可以賦值給其他變數 def fun...

Python函式名應用 閉包 迭代器

函式名的應用.函式名是乙個變數,但它是乙個特殊的變數,與括號配合可以執行函式的變數.1.函式名的記憶體位址 def func print 呵呵 print func 2.函式名可以賦值給其他變數 def func print 呵呵 print func a func 把函式當成乙個變數賦值給另乙個變...

day 10 函式名,閉包,迭代器

1.函式名的使用 1.函式名是乙個變數,函式名儲存的是函式的記憶體位址 2.函式名可以賦值給其他變數 3.函式名可以當容器類物件的元素 4.函式名可以當其他函式的引數 5.函式名可以做函式的返回值 2.閉包 閉包就是內層函式對外層函式 非全域性 變數的使用 1.閉包的作用 1.可以保護變數不收侵害 ...