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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python回顾(九)——函数高级,递归函数,匿名函数

發(fā)布時間:2024/4/17 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python回顾(九)——函数高级,递归函数,匿名函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

函數(shù)默認(rèn)參數(shù)

默認(rèn)參數(shù)概念

  默認(rèn)參數(shù)指函數(shù)/方法在定義時為形參賦值,對應(yīng)的形參稱為默認(rèn)參數(shù)

  默認(rèn)參數(shù)是一個參數(shù)定義期的概念,與調(diào)用無關(guān)

?

?

默認(rèn)參數(shù)作用

  如果參數(shù)定義默認(rèn)參數(shù),在調(diào)用函數(shù)/方法時,未對該參數(shù)進(jìn)行傳值,則使用默認(rèn)值作為該參數(shù)的值

?

?

默認(rèn)參數(shù)基本語法

定義格式:

  def 函數(shù)名(形參1 = 值1,…):

    函數(shù)體? ?

    ……

?

調(diào)用格式一(同普通參數(shù),無特殊):

  函數(shù)名(實參) 使用實參作為形參的值,不使用默認(rèn)值

?

調(diào)用格式二:

  函數(shù)名()使用默認(rèn)值作為形參的值

?  

?

?

注意事項

  1.默認(rèn)參數(shù)的定義必須在位置參數(shù)的右側(cè)

  

?

  2.默認(rèn)參數(shù)在調(diào)用傳值時,按照位置參數(shù)進(jìn)行對待,從左至右依次賦值,不能跳過左側(cè)的某個參數(shù)直接為后面的參數(shù)賦值

  

?

?

?

關(guān)鍵字參數(shù)

關(guān)鍵字參數(shù)概念

  函數(shù)/方法在調(diào)用時指定名稱的形參進(jìn)行賦值對應(yīng)實參關(guān)鍵字參數(shù)

  關(guān)鍵字參數(shù)是一個參數(shù)調(diào)用期的概念,與定義無關(guān)

?

?

關(guān)鍵字參數(shù)作用

  按名稱確認(rèn)實參為指定的形參賦值

?

?

關(guān)鍵字參數(shù)基本語法

  定義格式(同普通參數(shù)定義,無特殊):

    def 函數(shù)名(形參 ,…):

      函數(shù)體 ??

????     ……

?

  調(diào)用格式:

    函數(shù)名( 形參名 = 實參)

  

?

?

注意事項

  1.關(guān)鍵字參數(shù)必須出現(xiàn)在位置參數(shù)的后面

?  

?

  2.不允許使用關(guān)鍵字參數(shù)對同一個形參進(jìn)行多次賦值

?  

  

?

  3.關(guān)鍵字參數(shù)既可以為位置參數(shù)賦值,也可以為默認(rèn)參數(shù)賦值。通常使用關(guān)鍵字參數(shù)解決默認(rèn)參數(shù)選擇性賦值問題

?

?

?

?

可變參數(shù)

可變參數(shù)概念

  函數(shù)/方法在定義時,定義一個特殊的形參,用于接收調(diào)用時傳入的任意數(shù)量的實參,對應(yīng)的形參稱為可變參數(shù)

  可變參數(shù)是一個參數(shù)定義期調(diào)用期都有效的概念

?

?

可變參數(shù)作用

  簡化函數(shù)定義過程,定義可以接收無數(shù)個實參的形參

  形參接受到的數(shù)據(jù),無論數(shù)量多少,包裝成一個元組對象

?

?

可變參數(shù)基本語法

  定義格式:

    def 函數(shù)名(*args?…):

      函數(shù)體? ?

      ……

   

  調(diào)用格式(同普通參數(shù),無特殊):

    函數(shù)名( 實參1,…… )

?  

?

?

注意事項

  1.可變參數(shù)在一個函數(shù)/方法定義中只能出現(xiàn)一個

?  

?

  2.可變參數(shù)只能出現(xiàn)在位置參數(shù)的后面,位置參數(shù)在左側(cè),可變參數(shù)在右側(cè)

?  

?

  3.關(guān)鍵字參數(shù)只能出現(xiàn)在位置參數(shù)的后面,賦值時必須使用關(guān)鍵字參數(shù)傳值,否則值會被可變參數(shù)接收

?  

?

  4.定義函數(shù)的參數(shù)時,先定義位置參數(shù),再定義可變參數(shù),最后定義默認(rèn)參數(shù)

?  

?

?

?

字典參數(shù)

字典參數(shù)概念

  函數(shù)/方法在定義時,定義一個特殊的形參,用于接收未定義直接使用的關(guān)鍵字參數(shù),對應(yīng)的形參稱為字典參數(shù)

?

?

字典參數(shù)作用

  簡化函數(shù)定義過程,接收未定義直接使用的關(guān)鍵字參數(shù)

  在多層級調(diào)用間進(jìn)行關(guān)鍵字參數(shù)的逐級傳遞

  未定義的關(guān)鍵字參數(shù),無論數(shù)量多少,接收后包裝成一個字典對象

?

?

字典參數(shù)基本語法

定義格式:

  def 函數(shù)名(**kwargs?,…):

    函數(shù)體 ??

????   ……

?

調(diào)用格式:

  函數(shù)名( 未定義的變量名1 =?實參1,未定義的變量名2 =?實參2,…… )

?  

?

?

注意事項

  1.字典參數(shù)在一個函數(shù)/方法定義中只能出現(xiàn)一個

  ?

?

  2.定義函數(shù)的參數(shù)時,先定義位置參數(shù),再定義可變參數(shù),然后定義默認(rèn)參數(shù),最后定義字典參數(shù)

?  

?

?

其他

  所有的容器都支持解包操作,格式:*容器變量名

?

?

?

遞歸函數(shù)

遞歸函數(shù)概念

  函數(shù)/方法在執(zhí)行過程中出現(xiàn)了對自身函數(shù)/方法的調(diào)用,稱該過程為遞歸調(diào)用,稱這樣的函數(shù)為遞歸函數(shù)

?

?

遞歸函數(shù)基本語法

  同普通函數(shù)

?

?

遞歸函數(shù)定義要求

  1.函數(shù)體中具有對自身函數(shù)的調(diào)用

  2.函數(shù)體中具有明確的函數(shù)執(zhí)行結(jié)束判定條件

?

?

遞歸函數(shù)調(diào)用要求

  Python語言中函數(shù)調(diào)用最大層級為1000層,超過該層級,程序?qū)箦e(不同語言設(shè)置不同)

?

?

?

匿名函數(shù)

匿名函數(shù)概念

  匿名函數(shù)即沒有名稱的函數(shù),在python語言中,匿名函數(shù)是使用lambda關(guān)鍵字定義的一個特殊表達(dá)式,也稱為lambda表達(dá)式

?

?

匿名函數(shù)基本語法

格式一:

  定義: 函數(shù)名?=?lambda 形參 :?返回值

  調(diào)用: 結(jié)果 = 函數(shù)名(實參)

?  

?

格式二:

  定義并調(diào)用: 結(jié)果 = (lambda 形參 : 返回值)(實參)

?  

?

?

匿名函數(shù)特殊語法

  無參格式: 結(jié)果 = (lambda?:返回值)()

?  

?

  多返回值格式: 無,可使用數(shù)據(jù)存儲模型返回多個數(shù)據(jù)

?

  無返回值格式: 無,必須有具體值或結(jié)果為None

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?  

轉(zhuǎn)載于:https://www.cnblogs.com/sickle/p/10116272.html

總結(jié)

以上是生活随笔為你收集整理的python回顾(九)——函数高级,递归函数,匿名函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。