溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中的函數(shù)是什么

發(fā)布時間:2020-09-24 11:05:28 來源:億速云 閱讀:155 作者:Leah 欄目:編程語言

Python中的函數(shù)是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

函數(shù):函數(shù)是組織好的,可重復(fù)使用的,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

函數(shù)的定義

定是函數(shù)使用def關(guān)鍵字

def myfunc(x):
    if x >= 0:
        return x    else:
        return -x

空函數(shù)

def emptyfunc():
    pass

參數(shù)檢查

def checkfunc(x):
    if not isinstance(x,(int,float)):
        raise TypeError("must be int or float type!")
    if x >= 0:
        return x
    else:
        return -x

返回多個值

def price(x):
    apple=x*2
    banana=x*2.5
    return apple,banana
a,b=price(1)

函數(shù)的參數(shù)

必選參數(shù)parameter

def printdetail1(name,age,telephone):
    print("姓名:",name)
    print("年齡:",age)
    print("電話:",telephone)
printdetail1("Jack",12,12356435678)

默認(rèn)參數(shù)parameter=value

def printdetail2(name,age,telephone,gender='fale'):
    print("姓名:",name)
    print("性別:",gender)
    print("年齡:",age)
    print("電話:",telephone)
printdetail2("Jack",12,12356435678,gender='female')

可變參數(shù)*

1.不定長傳參

def fun1(*number):
    for i in number:
        print(i)fun1(1,2,3,4,5,6,7,8)

2.元組和列表的壓包

def fun2(*number):
    s=0
    for i in number:
        s+=i
    print(s)
fun2(*[1,2,3,4,5])
fun2(*(1,2,3,4,5))

關(guān)鍵參數(shù)**

使用方法一

def fun(id,name,**kargs):
    print("id:",id)
    print("name:",name)
    print("others:",kargs)
fun(2,"xiaohua",sex="man",age='12')

使用方法二

extra={'sex': 'man', 'age': 12}
def fun(id,name,**kargs):
    print("id:",id)
    print("name:",name)
    print("others:",kargs)
fun(2,"xiaohua",sex=extra['sex'],age=extra['age'])

使用方法三

extra={'sex': 'man', 'age': 12}
def fun(id,name,**kargs):
    print("id:",id)
    print("name:",name)
    print("others:",kargs)
fun(2,"xiaohua",**extra)

關(guān)鍵字參數(shù)*

def fun(name,age,*,city,job,completion):
    print("name:",name)
    print("age:",age)
    print("city:",city)
    print("job:",job)
    print("completion:",completion)
fun('Jack',12,city='shanghai',job='teacher',completion=True)

命名關(guān)鍵字參數(shù)需要一個特殊分隔符*,后面的參數(shù)被視為命名關(guān)鍵字參數(shù)

如果函數(shù)定義中已經(jīng)有了一個可變參數(shù),后面跟著的命名關(guān)鍵字參數(shù)就不再需要一個特殊分隔符*了

參數(shù)組合

def fun(parameter,*args,keyparameter,**kargs):
    print(parameter)
    print(args)
    print(keyparameter)
    print(kargs)
fun(1,*(1,2,3,4),keyparameter=True,**{'id':2})

參數(shù)定義的順序必須是:必選參數(shù)、默認(rèn)參數(shù)、可變參數(shù)、命名關(guān)鍵字參數(shù)和關(guān)鍵字參數(shù)

函數(shù)的遞歸

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

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI