函式名的使用:
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
檢視是否是可迭代物件
fromcollections 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.可以保護變數不收侵害 ...