久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

一,、Python函數(shù)(函數(shù)定義,、函數(shù)調用)用法詳解

 星光閃亮圖書館 2019-08-08
Python 中,函數(shù)的應用非常廣泛,,前面章節(jié)中我們已經(jīng)接觸過多個函數(shù),,比如 input() 、print(),、range(),、len() 函數(shù)等等,這些都是 Python 的內置函數(shù),,可以直接使用,。

除了可以直接使用的內置函數(shù)外,Python 還支持自定義函數(shù),,即將一段有規(guī)律的,、可重復使用的代碼定義成函數(shù),從而達到一次編寫,、多次調用的目的,。

比如,在程序中定義了一段代碼,,這段代碼用于實現(xiàn)一個特定的功能,。問題來了,如果下次需要實現(xiàn)同樣的功能,,難道要把前面定義的代碼復制一次,?如果這樣做實在太傻了,這意味著每次當程序需要實現(xiàn)該功能時,,都要將前面定義的代碼復制一次,。正確的做法是,將實現(xiàn)特定功能的代碼定義成一個函數(shù),,每次當程序需要實現(xiàn)該功能時,,只要執(zhí)行(調用)該函數(shù)即可。

通俗來講,,所謂函數(shù),,就是指為一段實現(xiàn)特定功能的代碼“取”一個名字,,以后即可通過該名字來執(zhí)行(調用)該函數(shù)。使用函數(shù),,可以大大提高代碼的重復利用率,。

通常,函數(shù)可以接收零個或多個參數(shù),,也可以返回零個或多個值,。從函數(shù)使用者的角度來看,函數(shù)就像一個“黑匣子”,,程序將零個或多個參數(shù)傳入這個“黑匣子”,,該“黑匣子”經(jīng)過一番計算即可返回零個或多個值。

對于“黑匣子”的內部細節(jié)(就是函數(shù)的內部實現(xiàn)細節(jié)),,函數(shù)的使用者并不需要關心,。就像前面在調用 len()、max(),、min() 等函數(shù)時,,我們只負責傳入?yún)?shù)、接收返回值,,至于函數(shù)內部的實現(xiàn)細節(jié),,我們并不關心。

如圖 1 所示為函數(shù)調用示意圖:


圖 1 函數(shù)調用示意圖

從函數(shù)定義者(實現(xiàn)函數(shù)的人)的角度來看,,其至少需要想清楚以下 3 點:
  1. 函數(shù)需要幾個關鍵的需要動態(tài)變化的數(shù)據(jù),,這些數(shù)據(jù)應該被定義成函數(shù)的參數(shù)。

  2. 函數(shù)需要傳出幾個重要的數(shù)據(jù)(就是調用該函數(shù)的人希望得到的數(shù)據(jù)),,這些數(shù)據(jù)應該被定義成返回值,。

  3. 函數(shù)的內部實現(xiàn)過程。

不難看出,,定義函數(shù)比調用函數(shù)要難得多,,而本節(jié)正是教你如何定義函數(shù)的。不過不用擔心,,對于實現(xiàn)過程復雜的函數(shù),,定義本身就很費力,有時候實現(xiàn)不出來也完全正常,。

Python函數(shù)的定義

定義函數(shù),,也就是創(chuàng)建一個函數(shù),可以理解為創(chuàng)建一個具有某些用途的工具,。定義函數(shù)需要用 def 關鍵字實現(xiàn),,具體的語法格式如下:

def 函數(shù)名(形參列表):
    //由零條到多條可執(zhí)行語句組成的代碼塊
    [return [返回值]]

其中,用 [] 括起來的為可選擇部分,即可以使用,,也可以省略,。

此格式中,各部分參數(shù)的含義如下:
  • 函數(shù)名:從語法角度來看,,函數(shù)名只要是一個合法的標識符即可,;從程序的可讀性角度來看,函數(shù)名應該由一個或多個有意義的單詞連綴而成,,每個單詞的字母全部小寫,,單詞與單詞之間使用下畫線分隔,。

  • 形參列表:用于定義該函數(shù)可以接收的參數(shù),。形參列表由多個形參名組成,多個形參名之間以英文逗號(,)隔開,。一旦在定義函數(shù)時指定了形參列表,,調用該函數(shù)時就必須傳入相應的參數(shù)值,也就是說,,誰調用函數(shù)誰負責為形參賦值,。

注意,在創(chuàng)建函數(shù)時,,即使函數(shù)不需要參數(shù),,也必須保留一對空的“()”,否則 Python 解釋器將提示“invaild syntax”錯誤,。另外,,如果想定義一個沒有任何功能的空函數(shù),可以使用 pass 語句作為占位符,。


下面程序定義了兩個函數(shù):
  1. def my_max(x, y) :

  2. # 定義一個變量z,,該變量等于x、y中較大的值

  3. z = x if x > y else y

  4. # 返回變量z的值

  5. return z

  6. # 定義一個函數(shù),,聲明一個形參

  7. def say_hi(name) :

  8. print("===正在執(zhí)行say_hi()函數(shù)===")

  9. return name + ",,您好!"

Python函數(shù)的調用

調用函數(shù)也就是執(zhí)行函數(shù),。如果把創(chuàng)建的函數(shù)理解為一個具有某種用途的工具,,那么調用函數(shù)就相當于使用該工具。

函數(shù)調用的基本語法格式如下所示:

函數(shù)名([形參值])

其中,,函數(shù)名即指的是要調用的函數(shù)的名稱,;形參值指的是當初創(chuàng)建函數(shù)時要求傳入的各個形參的值。需要注意的是,,創(chuàng)建函數(shù)有多少個形參,,那么調用時就需要傳入多少個值,且順序必須和創(chuàng)建函數(shù)時一致。即便該函數(shù)沒有參數(shù),,函數(shù)名后的小括號也不能省略,。

例如,調用前面創(chuàng)建的那 2 個函數(shù),,執(zhí)行代碼如下:
  1. a = 6

  2. b = 9

  3. # 調用my_max()函數(shù),,將函數(shù)返回值賦值給result變量

  4. result = my_max(a , b) # ①

  5. print("result:", result)

  6. # 調用say_hi()函數(shù),直接輸出函數(shù)的返回值

  7. print(say_hi("孫悟空")) # ②

上面程序中,,分別在 ① 號,、② 號代碼處調用了 my_max() 和 say_hi() 這兩個函數(shù)。從下面的運行結果可以看出,,當程序調用一個函數(shù)時,,既可以把調用函數(shù)的返回值賦值給指定變量,也可以將函數(shù)的返回值傳給另一個函數(shù),,作為另一個函數(shù)的參數(shù),。

運行上面程序,將可以看到如下運行結果:

result: 9
===正在執(zhí)行say_hi()函數(shù)===
孫悟空,,您好,!

另外,在函數(shù)體中使用 return 語句可以顯式地返回一個值,,return 語句返回的值既可是有值的變量,,也可是一個表達式。例如上面的 my_max() 函數(shù),,實際上也可簡寫為如下形式:
  1. def my_max(x, y) :

  2. # 返回一個表達式

  3. return x if x > y else y

為函數(shù)提供說明文檔

前面介紹過可以使用 Python 內置的 help() 函數(shù)查看其他函數(shù)的幫助文檔,,我們也經(jīng)常通過 help() 函數(shù)查看指定函數(shù)的幫助信息,這對于 Python 開發(fā)者來說非常重要,。

我們還可以為函數(shù)編寫說明文檔,,只要把一段字符串放在函數(shù)聲明之后、函數(shù)體之前,,這段字符串將被作為函數(shù)的部分,,這個文檔就是函數(shù)的說明文檔。

程序既可通過 help() 函數(shù)查看函數(shù)的說明文檔,,也可通過函數(shù)的 __doc__ 屬性訪問函數(shù)的說明文檔,。下面程序示范了為函數(shù)編寫說明文檔:
  1. def my_max(x, y) :

  2. '''

  3. 獲取兩個數(shù)值之間較大數(shù)的函數(shù)。

  4. my_max(x, y)

  5. 返回x,、y兩個參數(shù)之間較大的那個

  6. '''

  7. # 定義一個變量z,,該變量等于x、y中較大的值

  8. z = x if x > y else y

  9. # 返回變量z的值

  10. return z

上面程序使用多行字符串的語法為 my_max() 函數(shù)編寫了說明文檔,,接下來程序既可通過 help() 函數(shù)查看該函數(shù)的說明文檔,,也可通過 __doc__ 屬性訪問該函數(shù)的說明文檔,。
  1. # 使用help()函數(shù)查看my_max的幫助文檔

  2. help(my_max)

  3. #或者 print(my_max.__doc__)

運行上面代碼,可以看到如下運行結果:

Help on function my_max in module __main__:

my_max(x, y)
    獲取兩個數(shù)值之間較大數(shù)的函數(shù),。
   
    my_max(x, y)
        返回x,、y兩個參數(shù)之間較大的那個

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多