Python快速精通4 - 函數(shù),lambda表達(dá)式

1,函數(shù)入門(mén)

1.1函數(shù)本質(zhì)

1.2 創(chuàng)建函數(shù)

語(yǔ)法格式:

def 函數(shù)名(形參列表):
    ['''函數(shù)文檔''']
    可執(zhí)行語(yǔ)句組成的函數(shù)體
    [return [返回值]]

函數(shù)名: 合法的標(biāo)志名(最好是能夠見(jiàn)名知意)
形參列表: 定義函數(shù)可以接收的參數(shù).可以沒(méi)有形參,也可以有多個(gè)形參,之間用","隔開(kāi),調(diào)用的時(shí)候?yàn)樾螀①x值.
函數(shù)文檔: 用以解釋說(shuō)明函數(shù)功能,放置在函數(shù)定義的開(kāi)始部分
函數(shù)體: 函數(shù)體內(nèi)部的語(yǔ)句按照語(yǔ)句的先后順序執(zhí)行.

實(shí)例: 用于比較求兩個(gè)整型變量的最大值

# 定義一個(gè)函數(shù)
def get_max(x,y):
    if x>y:
        return x
    else:
        return y
# 調(diào)用函數(shù),并為函數(shù)傳入實(shí)際參數(shù)
result = get_max(1,100)
print(result)
100
#上一個(gè)例子的另一種寫(xiě)法
def get_max(x,y):
    return x if x>y else y

print(get_max(1,100))
100

實(shí)例: 展示函數(shù)文檔的作用

def sayHello():
    '''sayHello實(shí)現(xiàn)了打招呼的功能'''
    print('Welcome pythoner!')
help(sayHello)
Help on function sayHello in module __main__:

sayHello()
    sayHello實(shí)現(xiàn)了打招呼的功能

1.3 使用函數(shù)

如上面例子所示,使用函數(shù)即直接調(diào)用函數(shù)名,并傳入函數(shù)參數(shù),get_max(1,100)即完成了調(diào)用

1.4 函數(shù)返回值

  • 沒(méi)有返回值
  • 一個(gè)返回值
  • 多個(gè)返回值

例一,沒(méi)有返回值

def savePerson(name,age):
    print('Name:{0}, Age:{1}, 數(shù)據(jù)保存成功!'.format(name,age))
savePerson('馬云',55)
Name:馬云, Age:55, 數(shù)據(jù)保存成功!

例二,一個(gè)返回值

#上一個(gè)例子的另一種寫(xiě)法
def get_max(x,y):
    return x if x>y else y

print(get_max(1,100))
100

例三,多個(gè)返回值

def getPerson():
    name,age = '馬化騰',28
    return name,age
result = getPerson()
print('getPerson()返回值類(lèi)型: ',type(result))
print(result)
getPerson()返回值類(lèi)型:  <class 'tuple'>
('馬化騰', 28)

2,函數(shù)的參數(shù)詳解

2.1 參數(shù)用法1: 一般使用

定義函數(shù)的時(shí)候,會(huì)在參數(shù)列表里面指定形式參數(shù),所謂形參類(lèi)似一個(gè)占位聲明的意思,等函數(shù)被調(diào)用的時(shí)候傳遞給函數(shù)這個(gè)"黑匣子"實(shí)際的參數(shù),誰(shuí)調(diào)用誰(shuí)傳入實(shí)際參數(shù)

# 形式參數(shù): 下面是一個(gè)函數(shù)的聲明,length與width就是形式參數(shù)
def area(length,width):
    '''這里是函數(shù)文檔,一般用于介紹函數(shù)的功能及使用: 根據(jù)傳遞進(jìn)來(lái)的參數(shù)長(zhǎng)與寬,計(jì)算面積'''
    return length*width

# 函數(shù)說(shuō)明文檔: 這里是對(duì)函數(shù)文檔的調(diào)用
help(area)

# 實(shí)際參數(shù): 這里是對(duì)area函數(shù)的調(diào)用,在調(diào)用的時(shí)候傳入實(shí)際參數(shù)
print('面積: ',area(1,1))
Help on function area in module __main__:

area(length, width)
    這里是函數(shù)文檔: 根據(jù)傳遞進(jìn)來(lái)的參數(shù)長(zhǎng)與寬,計(jì)算面積

面積:  1

2.2 參數(shù)用法2: 關(guān)鍵詞參數(shù)的使用

有一種場(chǎng)景,假設(shè)我現(xiàn)在在調(diào)用一個(gè)函數(shù)saveData(name,age,email,address,school),這個(gè)函數(shù)有多個(gè)參數(shù),調(diào)用的時(shí)候如果傳參順序沒(méi)擺放正確,函數(shù)即使不會(huì)拋出異常,結(jié)果也不是你期望的,python給出這樣的方式避免錯(cuò)誤,那就是在調(diào)用時(shí)候,我們給實(shí)際參數(shù)指定形式參數(shù)的名字.如下面例子:

def saveData(name,age,email,address,school):
    print("Name: {0}的數(shù)據(jù)已經(jīng)成功保存.".format(name,age))

2.3 參數(shù)用法3: 參數(shù)默認(rèn)值

2.4 參數(shù)用法4: 可變個(gè)數(shù)的參數(shù)

3,內(nèi)部函數(shù)(局部函數(shù))

4,函數(shù)高級(jí)內(nèi)容

4.1 函數(shù)作為變量

4.2 函數(shù)作為參數(shù)

4.3 函數(shù)作為返回值

4.4 遞歸函數(shù)

5,lamda表達(dá)式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容