日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 笔记:函数

發布時間:2025/4/5 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 笔记:函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1?空函數

如果想定義一個啥都不做的空函數,可以用pass語句

因為python沒有;,所以if語句如果沒有內容的話,用pass語句

2?函數的返回值

函數可以返回多個值(相當于返回一個tuple——)

3 函數的形參

3.1 默認值

對于函數形參,可以自動設置默認值(默認參數要在最后面)

3.2 可變參數

以一個*開頭的就是可變參數

可變參數在函數定義中不能出現在特定參數默認參數前面,因為可變參數會吞噬掉這些參數。

調用函數?report('Mike', 8, 9),輸出的結果為?Mike total grade is 17

調用函數?report('Mike', 8, 9, 10),輸出的結果為?Mike total grade is 27

3.3 關鍵字參數

以兩個*開頭的參數就是關鍵字參數

關鍵字參數可以傳入0個或者任意個含參數名的參數,這些參數名在函數定義中并沒有出現,這些參數在函數內部自動封裝成一個字典(dict).

通過可變參數和關鍵字參數,任何函數都可以用?universal_func(*args, **kw)?表達。

4 global

Python中定義函數時,若想在函數內部對函數外的變量進行操作,就需要在函數內部聲明其為global。

不加global這個修飾詞的時候,作用域僅僅為func()的內部,加了之后,作用域為全局

? ? ? ? ? ? ? ? ?VS? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ?VS? ? ? ? ? ? ? ? ? ? ?

如果局部要對全局變量修改,而不使用global關鍵字,那么會報錯

如果局部不聲明全局變量,并且不修改全局變量,則可以正常使用

5 nonlocal

nonlocal聲明的變量不是局部變量,也不是全局變量,而是外部嵌套函數內的變量。

6 yield

帶yield的函數是一個生成器,而不是一個函數了。

這個生成器有一個函數就是next函數,next就相當于“下一步”生成哪個數。

這一次的next開始的地方是接著上一次的next停止的地方執行的,所以調用next的時候,生成器并不會從foo函數的開始執行,只是接著上一步停止的地方開始,然后遇到yield后,return出要生成的數,此步就結束。

輸出如下:

解釋:

1.程序開始執行以后,因為foo函數中有yield關鍵字,所以foo函數并不會真的執行,而是先得到一個生成器g(相當于一個對象)

2.直到調用next方法時,foo函數正式開始執行,先執行foo函數中的print方法,然后進入while循環

3.程序遇到yield關鍵字,把yield想象成return,return了一個4之后,程序停止。并沒有執行賦值給res操作,此時next(g)語句執行完成,所以輸出的前兩行(第一個是while上面一行的print的結果,第二個是‘return’出的結果)是執行print(next(g))的結果。

4.程序執行print("*"*20),輸出20個*

5.又開始執行下面的print(next(g)),這個時候和上面那個差不多,不過不同的是,這個時候是從剛才那個next程序停止的地方開始執行的,也就是要執行res的賦值操作,這時候要注意,這個時候賦值操作的右邊是沒有值的(因為剛才那個是return出去了,并沒有給賦值操作的左邊傳參數),所以這個時候res賦值是None,所以接著下面的輸出就是res:None,

6.程序會繼續在while里執行,又一次碰到yield,這個時候同樣return 出4,然后程序停止,print函數輸出的4就是這次‘return’出的4.

7?Lambda函數

lambda函數包含的表達式不能超過

lambda函數的格式:冒號前面的是參數,可以有多個,有逗號隔開來,冒號右邊的是表達式

函數名 = lambda 參數列表 : 表達式

lambda函數的返回值是一個函數的地址(函數對象)?

7.1 lambda 函數應用場景

filter,map,reduce,列表的sort等等

7.1.1 sort

?7.1.2 map

7.1.3 filter

總結

以上是生活随笔為你收集整理的python 笔记:函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。