學習python(四) 函數

分類:編程 時間:2017-03-12

函數是一種抽象,是實現可重用代碼的最直接的形式。

通過編寫函數,封裝了方法,之後可以直接調用函數,節省了代碼量。

創建函數

def func():

pass

返回值

函數使用return語句返回,可以有返回值,或者無返回值。

需要多個返回值可以返回一個元組。

設計程序時,有多個if分支語句,要確保都有返回值,沒有返回值默認返回None。


參數

函數參數有實參和形參,定義函數括號後面的是形參,調用函數時傳入的是實參。

函數通常不能改變參數,如字符串和元組是無法被改變的,但是列表可以改變。

所以如果需要改變參數,可以將其變成列表傳入,如果不想改變,可以使用切片獲得列表一個副本,如y = x[:]

當函數有多個參數時,調用函數時實參的順序就很重要,可以通過關鍵字參數來無視順序。如函數定義如下:

def func(p1, p2):

print p1, p2

如果有val1 = 1.0 val2 = 2.0 函數調用可以這樣 func(p1=val1, p2=val2)

還可以提供默認值

def func(p1 = 0.0, p2 = 0.0):

print p1, p2

所以可以多種形式調用,func() func(1) func(1, 2) func(p1 = 1, p2 = 2)

如果需要用戶提供任意數量的參數,就要用到參數收集

def func1(*params):

print params

這裏將多個參數放入元組
def func2(**params):

print params

這裏可以收集關鍵字參數,放入字典


作用域

python中變量和值是放在字典中存儲的,這個字典就是一個作用域。

除了全局作用域外,每個函數調用都會創建一個新的作用域,裏面的變量是局部的。

要想顯式的聲明全局變量,使用global a = 0.0

給函數寫文檔可以通過#加註釋,或者在開頭寫入' ' 文檔字符串,以幫助理解函數的功能。

如果字典的值是一個列表,如何添加元素?用d.setdefault(k,[]).append(val)。如果字典d裏沒有鍵k,那麽返回空列表並加入字典,如果k存在,也會返回保存值的列表,使用append()添加元素


Tags: 設計程序 python return 關鍵字 字符串

文章來源:


ads
ads

相關文章
ads

相關文章

ad