1.函數(shù):就是對實現(xiàn)某一特定功能代碼塊的封裝
2.作用:封裝(將功能綁定在一個函數(shù)中,使用該功能時直接調(diào)用該函數(shù))
3.聲明函數(shù):
def 函數(shù)名(參數(shù)列表):
"""函數(shù)說明"""
函數(shù)體
def:是python中聲明函數(shù)的關(guān)鍵字
函數(shù)名:標(biāo)識符 PEP8格式 見名知義
函數(shù)說明:對函數(shù)的功能和參數(shù)以及返回值進行說明
():是固定格式
參數(shù)列表:(形參列表)參數(shù)名1,參數(shù)名2,參數(shù)名3...
參數(shù)的功能是用來接收從外部傳到函數(shù)內(nèi)部的數(shù)據(jù)
函數(shù)體:實現(xiàn)函數(shù)功能的代碼塊,可能會包含一個return語句
4.步驟
a.確定函數(shù)的功能
b.確定函數(shù)名
c.確定參數(shù)
確定需不需要參數(shù)
確定需要幾個參數(shù)
(看實現(xiàn)函數(shù)的功能需不需要從外面?zhèn)鲾?shù)據(jù)到函數(shù)里面)
d.實現(xiàn)函數(shù)的功能
5.函數(shù)調(diào)用
函數(shù)名(實參列表)
函數(shù)名:調(diào)用的函數(shù)一定是已經(jīng)聲明過的,想要使用什么功能就調(diào)用對應(yīng)的函數(shù)
實參列表:實參是用來給形參賦值的
函數(shù)的調(diào)用過程:
1.使用實參給形參賦值
2.執(zhí)行函數(shù)體
3.函數(shù)體執(zhí)行完成后,回到函數(shù)調(diào)用的位置
注意:
1.函數(shù)只有在調(diào)用的時候才會執(zhí)行
2.函數(shù)調(diào)用的時候一定要保證每個形參都有值
3.函數(shù)的調(diào)用一定要在函數(shù)聲明的后面
4.一個函數(shù)可以多次調(diào)用
def sum(num1,num2):
'''
求兩個數(shù)的和
:param num1:提供第一個數(shù) int
:param num2:提供第二個數(shù) int
:return:返回一個值
'''
print(num1+num2)
x1=int(input('參數(shù)1:'))
x2=int(input('參數(shù)2:'))
sum(x1,x2)
# 練習(xí):聲明一個函數(shù),功能是打印10*(**********)
# 調(diào)用這個函數(shù)
def start(num,type):
"""
:param num: 個數(shù)
:param type: 符號
:return:
"""
print(type*num)
start(10,'*')
結(jié)果:
參數(shù)1:29
參數(shù)2:45
74
**********
參數(shù)的作用:從函數(shù)的外面給函數(shù)傳值
6.位置參數(shù)
傳參的時候,實參按順序給形參賦值
def func(a,b,c):
print(a,b,c)
func(1,2,3)
結(jié)果:
1 2 3
7.關(guān)鍵字參數(shù)
調(diào)用函數(shù)的時候:
函數(shù)名(參數(shù)=值)
func(a=30,c=50,b=90)
print('==========')
func(30,70,c=40)
結(jié)果:
30 90 50
==========
30 70 40
8.默認(rèn)參數(shù)
python中函數(shù)聲明的時候參數(shù)可以設(shè)置默認(rèn)值,有默認(rèn)值的參數(shù)必須放到參數(shù)列表的最后
def func2(a,b=90,c=0):
print(a,b,c)
func2(10)
func2(45,67,78)
結(jié)果:
10 90 0
45 67 78
9.參數(shù)個數(shù)不定
函數(shù)參數(shù)的個數(shù)不確定的時候,就在聲明函數(shù)的時候,在形參的前面加一個*,
將形參編程元組,調(diào)用函數(shù)的時候,這個參數(shù)會將對應(yīng)的實參作為元組的元素保存起來
注意:參數(shù)的個數(shù)不定,可以是形參中的一部分是不定的
個數(shù)不確定的參數(shù)要放到參數(shù)列表的最后
參數(shù)可以不定,也可以不傳參,對應(yīng)的參數(shù)的值就是一個空的元組
# 寫一個函數(shù),求多個數(shù)的和
def sum(*num):
'''
:param num: 多個參數(shù)
:return:
'''
sum=0
for x in num:
sum+=x
print(sum)
sum(1,2,3,4,5,6,7,8,9)
結(jié)果:
45