函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。
函數能提高應用的模塊性,和代碼的重復利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創見函數,這被叫做用戶自定義函數。
一、定義一個函數
你可以定義一個由自己想要功能的函數,以下是簡單的規則:
1.函數代碼塊以def關鍵詞開頭,后接函數標識符名稱和圓括號()。
2.任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用于定義參數。
3.函數的第一行語句可以選擇性地使用文檔字符串—用于存放函數說明。
4.函數內容以冒號起始,并且縮進。
5.Return[expression]結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。
語法
代碼如下:def functionname( parameters ):
"函數_文檔字符串"
function_suite
return [expression]
默認情況下,參數值和參數名稱是按函數聲明中定義的的順序匹配起來的。
實例
以下為一個簡單的Python函數,它將一個字符串作為傳入參數,再打印到標準顯示設備上。
代碼如下:def printme( str ):
"打印傳入的字符串到標準顯示設備上"
print str
return
二、函數調用
定義一個函數只給了函數一個名稱,指定了函數里包含的參數,和代碼塊結構。這個函數的基本結構完成以后,你可以通過另一個函數調用執行,也可以直接從Python提示符執行。
如下實例調用了printme()函數:
代碼如下:#!/usr/bin/python
# Function definition is here
def printme( str ):
"打印任何傳入的字符串"
print str;
return;
# Now you can call printme function
printme("我要調用用戶自定義函數!");
printme("再次調用同一函數");
#以上實例輸出結果:
#我要調用用戶自定義函數!
#再次調用同一函數
三、按值傳遞參數和按引用傳遞參數
所有參數(自變量)在Python里都是按引用傳遞。如果你在函數里修改了參數,那么在調用這個函數的函數里,原始的參數也被改變了。例如:
代碼如下:#!/usr/bin/python
# 可寫函數說明
def changeme( mylist ):
"修改傳入的列表"
mylist.append([1,2,3,4]);
print "函數內取值: ", mylist
return
# 調用changeme函數
mylist = [10,20,30];
changeme( mylist );
print "函數外取值: ", mylist
#傳入函數的和在末尾添加新內容的對象用的是同一個引用。故輸出結果如下:
#函數內取值: [10, 20, 30, [1, 2, 3, 4]]
#函數外取值: [10, 20, 30, [1, 2, 3, 4]]
四、函數的參數
Python函數可以使用的參數類型:
新聞熱點
疑難解答