Python複習筆記(三)函式高階

2022-02-27 12:11:14 字數 1714 閱讀 8527

在 python 中,列表變數呼叫+=本質上是在執行列表變數的 extend 方法,不會修改變數的引用

這裡,難理解的就是generator和函式的執行流程不一樣。函式是順序執行,遇到return語句或者最後一行函式語句就返回。而變成generator的函式,在每次呼叫next()的時候執行遇到yield語句返回,再次執行時從上次返回的yield語句處 繼續執行

可以看到,odd不是普通函式,而是generator,在執行過程中,遇到yield就中斷,下次又繼續執行。執行3次yield後,已經沒有yield可以執行了,所以,第4次呼叫next(o)就報錯。

for迴圈呼叫generator時,發現拿不到generator的return語句的返回值。如果想要拿到返回值,必須捕獲stopiteration錯誤,返回值包含在stopiterationvalue中:

Python高階函式 三

排序演算法在各種程式中都有廣泛的應用,排序的核心就是按照某種規則比較所謂的 大小 然後交換位置,如果是數字,我們可以直接比較,但如果是字串或者兩個字典呢?直接比較數學上的大小是沒有意義的,因此,比較的過程必須通過函式抽象出來。python的內建sorted函式就可以對list進行排序。sorted ...

python高階三 函式

在python中函式用關鍵字def宣告,引數用逗號隔開,另外需要注意的是函式沒有返回型別 python函式不指定特定的返回型別,甚至不需要指定是否返回乙個值 但實際上,每乙個python函式都會返回一 個值 如果執行了return語句,那麼它會返回這個值,否則,它返回乙個none none是pyth...

python複習三之函式

知識點彙總 1 函式的概念 1 就是一段 2 一段操作流程 優點 1 量少 簡潔 2 維護起來方便 在函式的定義進行修改 2 函式的定義 1 def 函式名 函式內容 2 函式的定義是不會執行函式內容的 的!3 案例 def func print step1 print step2 4 type f...