數據科學分析:Python語言實現》 —2.3.5 函數

      網友投稿 634 2022-05-30

      2.3.5 函數

      我們介紹了Python中的一些基本控制流結構,并且可以開始將它們組合成邏輯塊來執行特定任務。特別地,我們可以構造出在必要時重復執行的代碼片段,其結果取決于所提供的輸入參數。換句話說,我們談論的話題是函數。

      Python中的函數具有以下語法:

      請注意,函數定義以保留字def開頭,函數內部的代碼用適當的縮進表示。

      該函數的輸入參數是變量arg1,arg2,...,argn,你可以為其中一些參數定義默認值。定義具有默認值的參數必須放在參數列表的最后。

      函數定義中的第二行為文檔字符串,其目的是說明該函數的執行步驟和目的。最后,請注意函數不要求必須有返回值。

      讓我們定義一個函數來計算由邊a和b所組成的矩形面積:

      請注意,參數b的默認值為1。如果我們調用此函數只傳入一個參數,該函數將知道如何處理計算并在需要時使用默認值。

      定義函數后就可以通過函數名直接調用;就像使用其他Python內置函數一樣。

      在上面代碼的第一行中,我們使用兩個參數調用rect_area函數,這樣就將值20賦值給參數a,并用2覆蓋b的默認值。正如預期的那樣,計算的面積是40。讓我們嘗試只提供一個值來調用函數:

      這里我們只將值42.4傳遞給函數。在這種情況下,值將分配給參數a,并在計算中使用默認值b = 1。

      我們可以在程序中包含控制流結構,以使它們更有用、更靈活。舉個例子,我們實現一個簡單的函數來計算數字的階乘:

      其中,“* =”和“- =”表示使用左側值重復操作。

      當我們傳入一個小于或等于函數期望值的數字時,它返回值1,當數字大于1時,使用while循環計算階乘。讓我們使用這個函數:

      更方便的方法可能是即時定義一個簡單的函數,而不必使用完整的def結構。在這種情況下,可以使用lambda函數:

      與之前一樣,arg1,arg2……是輸入參數,而statement是要根據輸入參數執行的代碼。

      例如,如果我們需要計算數字列表的每個元素的立方,可以嘗試以下代碼:

      《數據科學與分析:Python語言實現》 —2.3.5 函數

      在這種情況下,對象g是一個lambda函數,可以像調用Python中的其他函數一樣對其加以調用。

      到目前為止,沒有什么值得奇怪的地方:我們已經用數字1、3和6初始化了一個列表,然后定義了一個lambda函數來計算參數n的立方。我們現在可以應用此功能,例如:

      lambda函數看起來可能非常簡單,但正如上面所示,它雖然簡單,但是非常實用。可以在PySpark的源代碼中看到它的身影。PySpark是用于Spark的Python API,它是一種開源集群計算框架。

      python 機器學習 Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:OCR表單識別:準確快速實現紙質表格表單的電子化
      下一篇:初次接觸OpenLookeng
      相關文章
      亚洲精品综合久久中文字幕| 久久久久亚洲精品无码网址色欲 | 亚洲色偷偷综合亚洲AVYP| 亚洲AV成人影视在线观看| 亚洲美女中文字幕| 亚洲欧洲日韩不卡| 亚洲欧洲国产日韩精品| 亚洲国产精品人久久| 亚洲成色999久久网站| 久久夜色精品国产亚洲AV动态图| 亚洲国产精品va在线播放| 亚洲日韩精品无码一区二区三区 | 国产A在亚洲线播放| 亚洲欧洲久久av| 婷婷综合缴情亚洲狠狠尤物| 一本色道久久88综合亚洲精品高清 | 国产精品亚洲专区在线观看| 亚洲国产精品成人综合久久久| 久久精品国产亚洲AV高清热| 99久久亚洲精品无码毛片| 亚洲精品高清国产麻豆专区| 亚洲成av人片不卡无码| 亚洲一卡二卡三卡四卡无卡麻豆| 亚洲伊人久久大香线蕉结合| 亚洲人成77777在线观看网| 亚洲国产视频久久| 亚洲国产精品精华液| 在线观看亚洲专区| 亚洲中文字幕无码爆乳av中文| 亚洲综合在线另类色区奇米| 亚洲精品无码久久久久去q| 久久精品亚洲综合| 亚洲精品国产肉丝袜久久| 亚洲av乱码一区二区三区| 亚洲熟妇无码av另类vr影视| 国产精品亚洲а∨无码播放麻豆| 亚洲国产综合人成综合网站| 亚洲亚洲人成综合网络| 亚洲日本在线看片| 亚洲香蕉久久一区二区三区四区| 亚洲国产高清国产拍精品|