Python基礎學習(函數)

建立函數-defpython

函數是能夠調用的(能夠包含參數),它封裝了邏輯處理的具體細節。app

例如,根據用戶輸入建立一個斐波拉契數列(任意數字都是前兩個數字的和)函數

def fib(num):
    fib=[0,1]
    for i in range(num):
        fib.append(fib[-2]+fib[-1])
    return fib

tem=input('input the number:')
res=fib(int(tem))
print res

在調用函數傳遞參數的時候,要注意參數是值傳遞仍是引用傳遞,當參數以值傳遞傳入函數的時候,函數內部對傳入值的變動不會影響函數外的值;當參數以引用形式傳入函數的時候,函數內部對該引用的數據變動會影響函數外的引用數據spa

關鍵字參數
code

在定義函數的時候能夠指定參數的默認值,那麼在調用函數時就不須要傳遞參數了
input

def hell(greet='hello', name='world!'):
    print greet+", "+name
hell(name='lisi')
#參數混合傳入的時候,默認參數必須寫在後面
hell('HELLO',name='lisi')

定義可變參數函數(方法)it

有時候函數(方法)的輸入參數數量是可變的,便可變參數,經過參數列表的‘*’號標記可將參數轉爲元組,經過‘**’號標記可將參數轉爲字典class

#輸入可變參數定義在後面params元組中------將元素轉爲元組
def params1(title,*params):
    print title
    print params
#位置參數傳入
params1('names','lisi','wangwu','zhaoliu')

#關鍵字參數傳入,會被轉成字典params--------將元素轉爲字典
def params2(names,**params):
    print names
    print params

params2(names='lisi',x=1,y=2,z=3)

計算N的階乘引用

#計算N的階乘
def cal(n):
    if n==1:
        return 1
    return n*cal(n-1)

print cal(1)

計算一個數的冪方法

#計算一個數的冪
def pow(x,n):
    if n==1: return x
    return x*pow(x,n-1)

print pow(2, 4)
相關文章
相關標籤/搜索