函式,生成器,迭代器 助記

2022-06-01 08:39:09 字數 831 閱讀 8851

函式:

引數: 形參 實參 預設引數 非固定引數 *args(返回元組形式) **kwargs(返回字典的形式)

呼叫: 位置引數呼叫, 關鍵字引數呼叫 (關鍵字引數呼叫要在位置引數呼叫之後)

巢狀函式:函式裡面包含函式

遞迴:自己呼叫自己

匿名函式:lambda

高階函式:乙個函式接收另乙個函式作為引數

列表生成式: a = [i for io in range(10)] 缺點:占用記憶體

生成器(generator):a = (i for i in range(10)) ----->() next() 乙個乙個的取,取乙個生成乙個,for 迴圈是常用方法

如果乙個函式電一中包含 yield 關鍵字,那麼這個函式就是乙個生成器

遇到 next()呼叫 遇到yield 就返回,在次執行時從上次返回的yield語句處繼續執行

迭代器:可迭代物件iterable(可以直接作用於for迴圈) 迭代器iterator(可以被next()函式呼叫並不斷返回下乙個值的物件)

判斷方法:isinstance({},iterable)-->true isinstance({},iterator)-->fales

iterable + iter()-->iterator isinstance(iter({}),iterator)-->true

軟體開發原則:「開放-封閉」原則

開放:對現有功能的擴充套件開發

封閉:已實現的功能**塊不應該改被修改(源** 和 呼叫方式)

裝飾器(語法糖):高階函式(實現「開放-封閉」原則)

函式 生成器 迭代器

1.函式 1 函式的好處就是能將固定功能的模組封裝起來,在需要多次實現這個功能的時候就呼叫函式避免 的重複書寫,過於冗長 2 傳參 依次往後放這是規定 num,args,a 2,kwargs 中間兩個交換位置不影響 位置引數 引數關鍵字引數 引數 3 返回值函式執行沒遇到return返回值一定為no...

生成器 迭代器

最近見天一直在看廖大的python教程,卻發現很多基礎看著很簡單,但卻不會應用,歸根結底還是因為理解不到位,故而又將教程學了一遍,並將自己的理解記錄一下,也方便後面查閱。由於沒有相關程式設計基礎,有些理解可能是錯的,敬請批評指正。想深入具體學習廖大部落格請移步廖雪峰的官方 有時候用迴圈生成列表太過繁...

迭代器,生成器

迭代器 生成器 生成器的第1種實現方式 列表生成式改為生成器 python中yield關鍵字 函式中如果有yield,那麼呼叫這個函式的返回值為生成器。當生成器g呼叫next方法,執行函式,知道遇到yield就停止 再執行next,從上一次停止的地方繼續執行 函式中遇return直接退出,不繼續執行...