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))