新聞中心
函數是 Python 程序的重要組成單位,一個 Python 程序可以由很多個函數組成。前面我們己經用過大量函數,如 len()、max() 等,使用函數是真正開始編程的第一步。

創(chuàng)新互聯(lián)公司是一家從事企業(yè)網站建設、成都網站制作、做網站、外貿營銷網站建設、行業(yè)門戶網站建設、網頁設計制作的專業(yè)網絡公司,擁有經驗豐富的網站建設工程師和網頁設計人員,具備各種規(guī)模與類型網站建設的實力,在網站建設領域樹立了自己獨特的設計風格。自公司成立以來曾獨立設計制作的站點上1000家。
比如在程序中定義了一段代碼,這段代碼用于實現一個特定的功能。問題來了,如果下次需要實現同樣的功能,難道要把前面定義的代碼復制一次?如果這樣做實在太傻了,這意味著每次當程序需要實現該功能時,都要將前面定義的代碼復制一次。
正確的做法是,將實現特定功能的代碼定義成一個函數,每次當程序需要實現該功能時,只要執(zhí)行(調用)該函數即可。
通俗來講,所謂函數,就是指為一段實現特定功能的代碼“取”一個名字,以后即可通過該名字來執(zhí)行(調用)該函數。
通常,函數可以接收零個或多個參數,也可以返回零個或多個值。從函數使用者的角度來看,函數就像一個“黑匣子”,程序將零個或多個參數傳入這個“黑匣子”,該“黑匣子”經過一番計算即可返回零個或多個值。
從函數定義者(實現函數的人)的角度來看,其至少需要想清楚以下 3 點:
函數需要幾個關鍵的需要動態(tài)變化的數據,這些數據應該被定義成函數的參數。
函數需要傳出幾個重要的數據(就是調用該函數的人希望得到的數據),這些數據應該被定義成返回值。
函數的內部實現過程。
函數定義和調用
在使用函數之前必須先定義函數,定義函數的語法格式如下:
def 函數名(形參列表): //由零條到多條可執(zhí)行語句組成的函數 [return [返回值]]
Python 聲明函數必須使用 def 關鍵字,對函數語法格式的詳細說明如下:
函數名:從語法角度來看,函數名只要是一個合法的標識符即可;從程序的可讀性角度來看,函數名應該由一個或多個有意義的單詞連綴而成,每個單詞的字母全部小寫,單詞與單詞之間使用下畫線分隔。
形參列表:用于定義該函數可以接收的參數。形參列表由多個形參名組成,多個形參名之間以英文逗號(,)隔開。一旦在定義函數時指定了形參列表,調用該函數時就必須傳入到應的參數值,也就是說,誰調用函數誰負責為形參賦值。
在函數體中多條可執(zhí)行語句之間有嚴格的執(zhí)行順序,排在函數體前面的語句總是先執(zhí)行,排在函數體后面的語句總是后執(zhí)行。
下面程序定義了兩個函數,井在程序中調用它們:
# 定義一個函數,聲明2個形參
def my_max(x, y) :
# 定義一個變量z,該變量等于x、y中較大的值
z = x if x > y else y
# 返回變量z的值
return z
# 定義一個函數,聲明一個形參
def say_hi(name) :
print("===正在執(zhí)行say_hi()函數===")
return name + ",您好!"
a = 6
b = 9
# 調用my_max()函數,將函數返回值賦值給result變量
result = my_max(a , b) # ①
print("result:", result)
# 調用say_hi()函數,直接輸出函數的返回值
print(say_hi("孫悟空")) # ②上面程序中定義了兩個函數:my_max() 與 say_hi(),并在程序 ① 號、② 號代碼處分別調用了 my_max() 和 say_hi() 這兩個函數。從下面的運行結果可以看出,當程序調用一個函數時,既可以把調用函數的返回值賦值給指定變量,也可以將函數的返回值傳給另一個函數,作為另一個函數的參數。
運行上面程序,將可以看到如下運行結果:
result: 9 ===正在執(zhí)行say_hi()函數=== 孫悟空,您好!
在函數體中使用 return 語句可以顯式地返回一個值,return 語句返回的值既可是有值的變量,也可是一個表達式。
例如上面的 my_max() 函數,實際上也可簡寫為如下形式:
def my_max(x, y) : # 返回一個表達式 return x if x > y else y
本文標題:創(chuàng)新互聯(lián)Python教程:Python函數定義、函數調用詳解
本文鏈接:http://www.dlmjj.cn/article/ccddpes.html


咨詢
建站咨詢
